ITPub博客

首页 > 数据库 > Oracle > 表空间 配额quota

表空间 配额quota

原创 Oracle 作者:丛同学 时间:2014-08-17 13:04:40 0 删除 编辑

 配额大小指的是用户指定使用表空间的的大小。配额的指定可以禁止用户的对象使用过多的表空间

默认情况下,用户对所有表空间都是没有配额的,即不受空间的限制。

默认情况下,都会对用户赋 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博客 ” ,链接:https://blog.itpub.net/26980368/viewspace-1252638/ ,如需转载,请注明出处,否则将追究法律责任。

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

注册时间:2014-07-22

  • 博文量
    18
  • 访问量
    77065