ORACLE如何给用户或者角色赋予查询其它表空间的表的权限

时间:2022-01-24 15:23:52
RT!
我把用户设置为非dba角色,然后想控制这些用户只能查询某些表空间表的权限,我查了下只有赋予用户查询某个表的权限。
这样太麻烦了,我这么多表,不可能一个个去给权限,希望知道的大神给予解答,谢谢

6 个解决方案

#1


貌似没有办法直接授权表空间上的表,写个组合查询,然后一次性执行
select 'grant select on '||table_name||' to 你的用户;' from user_tables where tablespace_name='USERS' 

#2


表的权限是权限,表空间对于用户来讲,其实只有写入的权限,确切地讲,也不叫权限,而是叫做quota:表空间配额

若是想把某个表空间上的表的select权限都赋予某个用户,楼主可考虑下1楼的方法。

#3


表空间,是一个逻辑上的概念,不存在查询的权限,只有使用(配额)的权限。

限制某个用户有没有权限,是针对对象的,所以只能逐个表去设置。

#4


权限是针对 逻辑对象来讲的,方法就像一楼那些拼出语句,可以写到一个脚本一次运行,也不慢

#5


表空间,是一个逻辑上的概念,不存在查询的权限,只有使用(配额)的权限。
应该是说赋予user或Role的权限吧?

#6


引用 5 楼 mcxhh2005 的回复:
表空间,是一个逻辑上的概念,不存在查询的权限,只有使用(配额)的权限。
应该是说赋予user或Role的权限吧?


嗯,权限是赋予 user 或 role 的。

#1


貌似没有办法直接授权表空间上的表,写个组合查询,然后一次性执行
select 'grant select on '||table_name||' to 你的用户;' from user_tables where tablespace_name='USERS' 

#2


表的权限是权限,表空间对于用户来讲,其实只有写入的权限,确切地讲,也不叫权限,而是叫做quota:表空间配额

若是想把某个表空间上的表的select权限都赋予某个用户,楼主可考虑下1楼的方法。

#3


表空间,是一个逻辑上的概念,不存在查询的权限,只有使用(配额)的权限。

限制某个用户有没有权限,是针对对象的,所以只能逐个表去设置。

#4


权限是针对 逻辑对象来讲的,方法就像一楼那些拼出语句,可以写到一个脚本一次运行,也不慢

#5


表空间,是一个逻辑上的概念,不存在查询的权限,只有使用(配额)的权限。
应该是说赋予user或Role的权限吧?

#6


引用 5 楼 mcxhh2005 的回复:
表空间,是一个逻辑上的概念,不存在查询的权限,只有使用(配额)的权限。
应该是说赋予user或Role的权限吧?


嗯,权限是赋予 user 或 role 的。