我用system用户在 tablespace1(非system表空间)下建了一个表table1
然后我再建了一个用户user1默认表空间tablespace1,给user1授权,但user1访问不到table1表 提示表或视图不存在.
更郁闷的是 我用user1建个table2表..用system用户访问也访问不到..提示也是表或视图不存在.
我的sql语句是这样的..sqlplus system/sss@testdb
//建表空间
create tablespace tablespace1
logging
datafile 'H:\oracle\product\10.2.0\oradata\flexcc\cic.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//建表
create table table1(...) tablespace tablespace1
//建user1
create user user1 identified by test default tablespace tablespace1
//给user1加权限.
GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,SELECT ALL
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION,CREATE SEQUENCE TO user1
//用user1登录
conn user1/test
然后我再建了一个用户user1默认表空间tablespace1,给user1授权,但user1访问不到table1表 提示表或视图不存在.
更郁闷的是 我用user1建个table2表..用system用户访问也访问不到..提示也是表或视图不存在.
我的sql语句是这样的..sqlplus system/sss@testdb
//建表空间
create tablespace tablespace1
logging
datafile 'H:\oracle\product\10.2.0\oradata\flexcc\cic.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//建表
create table table1(...) tablespace tablespace1
//建user1
create user user1 identified by test default tablespace tablespace1
//给user1加权限.
GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,SELECT ALL
DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
DBA,CONNECT,RESOURCE,CREATE SESSION,CREATE SEQUENCE TO user1
//用user1登录
conn user1/test
然后我再建了一个用户user1默认表空间tablespace1,给user1授权,但user1访问不到table1表 提示表或视图不存在. table1在system用户下,在system下对user1授一个对象权限,如
conn systemgrant select on table1 to user1;conn user1select * from system.table1;更郁闷的是 我用user1建个table2表..用system用户访问也访问不到..提示也是表或视图不存在.
我的sql语句是这样的.. system可以访问user1.table2,要这样
conn systemselect * from user1.table2;
然后我再建了一个用户user1默认表空间tablespace1,给user1授权,但user1访问不到table1表 提示表或视图不存在.
user1应该这样访问,前提是user1用户有访问table1的权限:
select * from system.table1; 更郁闷的是 我用user1建个table2表..用system用户访问也访问不到..提示也是表或视图不存在.
我的sql语句是这样的..
system用户应该这样访问table2表:
select * from user1.table2;
多明了的
#1的已经说清楚了
你去试试看吧
#1的已经说清楚了
你去试试看吧
如果你确实需要user1去访问别的用户的表,可以给表创建同义词,其他用户即可不加用户名访问
是需要这样才能访问的,因为在建立表的时候是sys用户,所以表的权限就属于sys用户,如果想直接查询表名获得数据可以建立《同义词》