系统权限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>
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>
相关文章推荐
- 系统权限UNLIMITED TABLESPACE为何此特殊
- 详解Oracle的unlimited tablespace系统权限
- Oracle的unlimited tablespace系统权限
- 关于unlimited tablespace系统权限
- 详解Oracle的unlimited tablespace系统权限
- oracle表空间配额(quota)与UNLIMITED TABLESPACE系统权限
- 详解Oracle的unlimited tablespace系统权限
- 详解Oracle的unlimited tablespace系统权限
- 谈谈Oracle 数据库的系统权限UNLIMITED TABLESPACE
- 创建新环境用户的时候 注意回收 unlimited tablespace权限(测试环境和生产环境的时候 用户的权限注意)
- 用户有connect,resource,dba角色权限后回收dba权限导致无UNLIMITED TABLESPACE权限造成业务中断
- 表空间配额和UNLIMITED TABLESPACE权限
- Oracle之 赋予resource角色自动赋予UNLIMITED TABLESPACE权限,回收同理。
- resource角色隐式授权unlimited tablespace权限测试
- 有关UNLIMITED TABLESPACE权限
- oracle表空间配额和unlimited tablespace权限
- 有关UNLIMITED TABLESPACE权限
- 导入数据到不同表空间的问题!(unlimited tablespace 权限在作怪)
- 10g中resource角色的隐含权限UNLIMITED TABLESPACE
- 12C 创建用户授予connect+resource 后不在级联给予UNLIMITED TABLESPACE权限