所以出现【不同用户访问all_objects视图,相同过滤条件,结果不同 (例如:"A用户访问all_objects视图过滤B.T1表有数据,而C用户也访问all_objects视图过滤B.T1表却没有数据" )】是正常的,是因为C用户没有访问B.T1表权限,用dba_objects可以解决;
适当的选择 dba_*和all_*视图。
大概有三中办法:
1:grant select any table to B;(此种方法控制不太精确,sys、system等一些表也能查看)
2:grant select on A.tableName1 to public;grant select on A.tableName2 to public;.....................(有多少个表执行多少次),此方法比较麻烦
3:隐式游标赋权:
select 'GRANT SELECT ON A.'||object_name||' to B;' from dba_objects where owner='A' and object_type='TABLE';
一般采用第三种方法,权限控制比较精细。
大概有三中办法:1:grant select any table to B;(此种方法控制不太精确,sys、system等一些表也能查看)2:grant select on A.tableName1 to public;grant select on A.tableName2 to public;.....................(有多少个表执行多少次),此方法比较麻烦3:隐式
DEFAULT TABLESPACE "TBS_DNINMSV31"
TEMPORARY TABLESPACE "TEMP2"
QUOTA UNLIMITED ON "TBS_DNINMSV31";
GRANT "CONNECT" T...
命令:grant xxx
权限
on Table to USER
grant select,insert,update,delete,all on
表
名 to
用户
名
例如:将test
表
的查询
权限
赋予user2这个
用户
grant select on test to user2
赋权
全部就 grant select on test to user2
这样使用属于最简便的方式了。
使用GRANT可以将对象
权限
授予
用户
例如,
授予
steve在products
表
上的SELECT、INSERT、UPDATE的对象
权限
和在employees
表
上的SELECT对象
权限
GRANT SELECT, INSERT, UPDATE ON store.products TO steve;
GRANT SELECT ON store.employees TO steve;
授予
...
GRANT SELECT ON A_table TO b_user ; --将A
表
查询
权限
赋予 b
用户
GRANT updateON A_table TO b_user ; --将A
表
更新
权限
赋予 b
用户
GRANT delete ON A_table TO b_user ; --将A
表
删除...
1
表
权限
:
登录scott/tiger,然后查询select 'grant select on '||tname||' to robbie;' from tab
tab
表
存储当前登录
用户
的所有
表
,tname是
表
名,查询结果:
grant select on DEPT to robbie;
grant select on EMP to robbie;
grant select o
在Linux中,可以使用chmod命令给
用户
赋权
。该命令可以修改文件或目录的
权限
,包括读、写和执行
权限
。使用chmod命令时,需要指定要修改
权限
的文件或目录,以及要赋予的
权限
。例如,要将文件test.txt的所有
权限
都赋予给
用户
,可以使用以下命令:
chmod u+rwx test.txt
其中,u
表
示
用户
,r
表
示读
权限
,w
表
示写
权限
,x
表
示执行
权限
。这个命令将给
用户
赋予读、写和执行test.txt文件的
权限
。