oracle管理 | 表空间权限管控

一、授权

建用户的时候通常都可以选择一个default tablespace,但是在没有授权的情况下该用户也无法往该表空间写数据,需要进行授权。授权有全局授权和通过quota限制两种情况(quota配额可以防止某个用户过多使用某个表空间中的空间)
1.授予某个用户全局表空间的权限(通过命令单独授予)

grant unlimited tablespace to username;

2.授予某个用户全局表空间的权限(通过角色来授予)

通过角色来授予的时候通常是授予resource角色。
注意:虽然resource角色自己没有带unlimited tablespace的权限,但是把这个角色授予用户的时候,unlimited tablespace权限会自动带上
1)查看resource角色底下带的权限,没有unlimited tablespace权限

SQL> SELECT * from Dba_Sys_Privs s WHERE s.grantee='RESOURCE';

GRANTEE                                                      PRIVILEGE                                                                ADMIN_
------------------------------------------------------------ -------------------------------------------------------------------------------- ------
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

2)把resource角色授予用户

SQL> grant resource to username;

Grant succeeded.

3)查看用户拥有的权限,可以发现自己带上了unlimited tablespace(另外这个时候可以去看dba_ts_quotas,这样授权的用户没有体现出来)

SQL> SELECT * from Dba_Sys_Privs s WHERE s.grantee='USERNAME' ;

GRANTEE                                                      PRIVILEGE                                                                ADMIN_OPTION
------------------------------------------------------------ -------------------------------------------------------------------------------- ------
USERNAME                                                       UNLIMITED TABLESPACE                                                     NO
USERNAME                                                       CREATE TABLESPACE                                                        NO
USERNAME                                                       CREATE SESSION                                                           NO

3.授予某个用户个别表空间的权限

1)授予某个用户完全访问某个表空间的权限

ALTER USER username QUOTA UNLIMITED ON rcat 

---特别的,在授予完权限后查看dba_ts_quotas表:
SQL>   SELECT * from Dba_Ts_Quotas z WHERE z.username='USERNAME';

TABLESPACE_NAME                                              USERNAME                                                  BYTES  MAX_BYTES     BLOCKS MAX_BLOCKS DROPPE
------------------------------------------------------------ ------------------------------------------------------------ ---------- ---------- ---------- ---------- ------
RCAT                                                         USERNAME                                                   524288         -1         64         -1 NO
此时max_bytes 为-1,即不受限制。

2)授予某个用户有限访问某个表空间的权限

ALTER USER username QUOTA 1M ON rcat; 
SQL>   SELECT * from Dba_Ts_Quotas z WHERE z.username='USERNAME';

TABLESPACE_NAME                                              USERNAME                                                  BYTES  MAX_BYTES     BLOCKS MAX_BLOCKS DROPPE
------------------------------------------------------------ ------------------------------------------------------------ ---------- ---------- ---------- ---------- ------
RCAT                                                         USERNAME                                                   524288    1048576         64        128 NO
---可以看到MAX_BYTES是1MB

二、回收权限
1.全局

revoke unlimited tablespace from username;

2.个别表空间

ALTER USER username  QUOTA 0 ON rcat 
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值