您的位置:首页 > 其它

系统权限UNLIMITED TABLESPACE为什么如此特殊?

2008-11-03 16:38 405 查看
1、系统权限UNLIMITED TABLESPACE 不能被授予role,可以被授予用户!
2、UNLIMITED TABLESPACE 没有被包括在resource role中,但是UNLIMITED TABLESPACE 随着resource的授出而被授予用户的。
3、UNLIMITED TABLESPACE 不能伴随着resource被授予role而授予用户。

1、测试1
系统权限UNLIMITED TABLESPACE 不能被授予role,可以被授予用户!
SQL> create role rl1 ;
角色已创建。
SQL> create user test identified by test;
用户已创建。
SQL> grant connect , create table , unlimited tablespace to rl1;
grant connect , create table , unlimited tablespace to rl1
*
第 1 行出现错误:
ORA-01931: 无法将 UNLIMITED TABLESPACE 授予角色
SQL> grant connect , create table to rl1;
授权成功。
SQL> grant rl1 , unlimited tablespace to test;
授权成功。
SQL>
2、测试2
系统权限UNLIMITED TABLESPACE 没有被包括在resource role中,但是UNLIMITED TABLESPACE 随着resource的授出而被授予用户。
SQL> revoke rl1 , unlimited tablespace from test;
撤销成功。
SQL> grant connect , create table to test;
授权成功。
SQL> connect test/test
已连接。
SQL> create table t(id int);
create table t(id int)
*
第 1 行出现错误:
ORA-01950: 对表空间 'USERS' 无权限
SQL> connect xys/manager
已连接。
SQL> grant resource to test;
授权成功。
SQL> connect test/test
已连接。
SQL> create table t(id int);
表已创建。
SQL> CONNECT XYS/MANAGER
已连接。
SQL> select * from dba_sys_privs where grantee='TEST';
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
TEST CREATE TABLE NO
TEST UNLIMITED TABLESPACE NO
SQL> select * from dba_sys_privs where grantee='RESOURCE';
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
RESOURCE CREATE TRIGGER NO
RESOURCE CREATE SEQUENCE NO
RESOURCE CREATE TYPE NO
RESOURCE CREATE PROCEDURE NO
RESOURCE CREATE CLUSTER NO
RESOURCE CREATE OPERATOR NO
RESOURCE CREATE INDEXTYPE NO
RESOURCE CREATE TABLE NO
已选择8行。
SQL>
3、测试3
UNLIMITED TABLESPACE 不能伴随着resource被授予role而授予用户,具体一点就是resource被授予了rl1 role,把rl1授予了test用户,但是此时UNLIMITED TABLESPACE 没有被授予test用户!
SQL> create role rl1;
角色已创建。
SQL> create user test identified by test;
用户已创建。
SQL> grant connect,resource to rl1;
授权成功。
SQL> select * from dba_role_privs where grantee='RL1';
GRANTEE GRANTED_ROLE ADM DEF
------------------------------ ------------------------------ --- ---
RL1 CONNECT NO YES
RL1 RESOURCE NO YES
SQL> grant rl1 to test;
授权成功。
SQL> connect test/test
已连接。
SQL> create table t(id int);
create table t(id int)
*
第 1 行出现错误:
ORA-01950: 对表空间 'USERS' 无权限
SQL> connect xys/manager
已连接。
SQL> grant unlimited tablespace to test;
授权成功。
SQL> connect test/test
已连接。
SQL> create table t(id int);
表已创建。
SQL>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: