ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 系统权限UNLIMITED TABLESPACE为什么如此特殊?[转]

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

原创 Linux操作系统 作者:todayboy 时间:2011-02-24 15:26:33 0 删除 编辑

、系统权限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>

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/arduousbonze/archive/2008/11/03/3211359.aspx

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7583803/viewspace-687872/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-02-24

  • 博文量
    75
  • 访问量
    245557