关于ORACLE RESOURCE角色

关于ORACLE RESOURCE角色

授予用户resource角色会隐式的授予用户 UNLIMITED TABLESPACE权限,下面是一个测试.

创建测试帐号

SQL> create user test identified by test;

 

User created.

查看用户权限

SQL> select * from dba_sys_privs where grantee='TEST';

 

no rows selected

查看RESOURCE角色所拥有的权限

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 rows selected.

上的查询中并没有UNLIMITED TABLESPACE权限

授予test用户resource角色

SQL> GRANT RESOURCE TO TEST;

 

Grant succeeded.

再次查看test用户的权限

SQL> select * from dba_sys_privs where grantee='TEST';

 

GRANTEE                        PRIVILEGE                                ADM

------------------------------ ---------------------------------------- ---

TEST                           UNLIMITED TABLESPACE                     NO

验证:

授予test用户创建会话的权限

SQL> grant create session to test;

 

Grant succeeded.

SQL> CONN TEST

Enter password:

Connected.

SQL> CREATE TABLE TEST (ID NUMBER);

 

Table created.

收回unlimited tablespace权限

SQL> conn / as sysdba

Connected.

SQL> REVOKE UNLIMITED TABLESPACE FROM TEST;

 

Revoke succeeded.

 

再次查看test用户的权限

SQL> select * from dba_sys_privs where grantee='TEST';

 

GRANTEE                        PRIVILEGE                                ADM

------------------------------ ---------------------------------------- ---

TEST                           CREATE SESSION                           NO

现在已经不可用创建表

SQL> CONN TEST

Enter password:

Connected.

 

SQL> CREATE TABLE TEST1 (ID NUMBER);

CREATE TABLE TEST1 (ID NUMBER)

*

ERROR at line 1:

ORA-01536: space quota exceeded for tablespace 'USERS'

 

注:查看一个用户拥有那些角色可以通过DBA_ROLE_PRIVS视图

SQL> select * from dba_role_privs where grantee='TEST';

 

GRANTEE                        GRANTED_ROLE                   ADM DEF

------------------------------ ------------------------------ --- ---

TEST                           RESOURCE                       NO  YES

查看一个用户在那个表空间有配额可以通过DBA_TS_QUOTAS视图

SQL> select TABLESPACE_NAME ,USERNAME ,MAX_BYTES from dba_ts_quotas;

 

TABLESPACE_NAME                USERNAME                        MAX_BYTES

------------------------------ ------------------------------ ----------

NDX_OAK                        OAK                                    -1

SYSAUX                         OLAPSYS                                -1

TBS_EMS                        EMS                                    -1

SYSAUX                         SYSMAN                                 -1

NDX_ECARD                      ECARD                                  -1

TBS_OAK                        OAK                                    -1

SYSAUX                         DMSYS                           209715200

TEST                           TEST                                   -1

-1代表无限制

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

转载于:http://blog.itpub.net/7419833/viewspace-567341/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值