在oracle中为用户分配权限时,需要为用户分配修改索引的权限,发现系统权限中只有一个alter any index,而没有针对特定表空间的,如果想要将该用户的权限设置为:只允许该用户修改自己创建的索引,而不能修改其他用户创建的索引以及系统索引,该怎么设置呢?还有这种,SELECT ANY DICTIONA...显示全部
在oracle中为用户分配权限时,需要为用户分配修改索引的权限,发现系统权限中只有一个alter any index,而没有针对特定表空间的,如果想要将该用户的权限设置为:只允许该用户修改自己创建的索引,而不能修改其他用户创建的索引以及系统索引,该怎么设置呢?
还有这种,SELECT ANY DICTIONARY,不想用户具有太大的权限,只希望他能查询某些dictionary权限,该怎么设置呢?
这两个预设置的角色权限并不是万能的,
SQL> select * from role_sys_privs where role='RESOURCE';
ROLE PRIVILEGE ADMIN_OPTION
------------------------------ ---------------------------------------- ------------
RESOURCE CREATE SEQUENCE NO
RESOURCE CREATE TRIGGER NO
RESOURCE CREATE CLUSTER NO
RESOURCE CREATE PROCEDURE NO
RESOURCE CREATE TYPE NO
RESOURCE CREATE OPERATOR NO
RESOURCE CREATE TABLE NO
RESOURCE CREATE INDEXTYPE NO
8 rows selected
SQL> select * from role_sys_privs where role='CONNECT';
ROLE PRIVILEGE ADMIN_OPTION
------------------------------ ---------------------------------------- ------------
CONNECT CREATE SESSION NO
而且权限控制不够,并不能满足我的要求