配额大小指的是用户指定使用表空间的的大小。配额的指定可以禁止用户的对象使用过多的表空间
默认情况下,用户对所有表空间都是没有配额的,即不受空间的限制。
默认情况下,都会对用户赋 unlimited tablespace 的权限。这是是在创建的时候指定的,当我们的用户创建好之后,我们也可以修改用户的配额。
有关用户的配额的操作说明
一. 在创建用户的时候,就指定用户在特定表空间上的配额
SQL> conn / as sysdba;
Connected.
SQL> create user CXT
SQL> identified by oracle
SQL> default tablespace TBS_CXT
SQL> temporary tablespace temp
SQL> quota 10M on TBS_CXT;
User created.
查询用户配额的信息:
SQL> select tablespace_name,username,max_bytes from DBA_TS_QUOTAS where username='CXT';
TABLESPACE_NAME USERNAME MAX_BYTES
------------------------------ ------------------------------ ----------
TBS_CXT CXT 10485760
二.更改用户的表空间限额:
1.对用户不做表空间限额控制:
第一种方法:(这种方式是全局性的. 即修改用户的scheem集合下所有表空间的配额。)
SQL> grant unlimited tablespace to CXT; --给CXT用户授予表空间不受限制的权限
Grant succeeded.
第二种方法:
SQL> alter user CXT quota unlimited on TBS_CXT; -----针对用户CXT下的特定TBS_CXT表空间配额:不受限制
User altered
查看配额:
SQL> select tablespace_name,username,max_bytes from DBA_TS_QUOTAS where username='CXT';
TABLESPACE_NAME USERNAME MAX_BYTES
------------------------------ ------------------------------ ----------
TBS_CXT CXT -1 (这时候max_bytes 为-1,即不受限制。)
2.对用户做表空间限额:
如果我们想改某个具体的,即针对用户的某个特定的表空间,可以使用如下SQL:
SQL> conn sys/oracle;
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.3.0
Connected as sys@TEST AS SYSDBA --只有管理员才能分配数据库表空间配额的权限
SQL> alter user CXT quota 10M on TBS_CXT;
User altered
查看配额:
SQL> select tablespace_name,username,max_bytes from DBA_TS_QUOTAS where username='CXT';
TABLESPACE_NAME USERNAME MAX_BYTES
------------------------------ ------------------------------ ----------
TBS_CXT CXT 10485760
三. 回收用户对表空间的配额:
对应上面,回收也有两种方法
第一种方法:全局:
SQL> revoke unlimited tablespace from CXT; --回收权限
Revoke succeeded.
第二种方法:针对某个特定的表空间:
SQL> alter user CXT quota 0 on CXT_TBS;
User altered
再查看配额,已经没有了相关信息:
SQL> select tablespace_name,username,max_bytes from DBA_TS_QUOTAS where username='CXT';
no rows selected
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26980368/viewspace-1252638/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26980368/viewspace-1252638/