Chinaunix首页 | 论坛 | 博客
  • 博客访问: 998957
  • 博文数量: 116
  • 博客积分: 3758
  • 博客等级: 中校
  • 技术积分: 1316
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-17 11:49
个人简介

这家伙很懒。。。

文章分类

全部博文(116)

文章存档

2016年(3)

2015年(2)

2014年(1)

2013年(9)

2012年(25)

2011年(50)

2010年(12)

2009年(14)

分类: LINUX

2010-12-15 16:56:20

现象:研发提示空间不够用,日志显示:ORA-01536: 超出表空间 'xxx' 的空间限额


解决:alter user skate quota 2g on tablespace_name;

知识总结:


表空间的大小与用户的配额大小是两种不同的概念

表空间的大小是指实际的用户表空间的大小,而配额大小指的是用户指定使用表空间的的大小

把表空间文件增大,还是出现这个问题,用户在使用表空间的同时使用空间的限额,如果超出限制,就算有空的地方,也不会让用户使用


视图:

dba_ts_quotas  : DBA_TS_QUOTAS describes tablespace quotas for all users.
user_ts_quotas  :USER_TS_QUOTAS describes tablespace quotas for the current user. This view does not display the USERNAME column.

查看用户的表空间的限额

select * from dba_ts_quotas;

max_bytes字段就是了 
-1是代表没有限制,其它值多少就是多少了.


用户表空间限额的创建与更改:

1.创建用户时,指定限额

 eg:
CREATE USER SKATE IDENTIFIED BY SKATE_PWD
DEFAULT TABLESPACE SKATE_TS
TEMPORARY TABLESPACE temp
QUOTA 3M ON SKATE_TS
PASSWORD EXPIRE;


2.更改用户的表空间限额:

   A:不对用户做表空间限额控制:

          GRANT UNLIMITED TABLESPACE TO skate; 
          这种方式是全局性的. 
     或者 
           alter user skate quota unlimited on skate_ts; 
           这种方式是针对特定的表空间的.

3. 可以分配自然也可以回收了:

    revoke unlimited tablespace from skate;
或者 
    alter user skate quota 0 on SKATE_TS; 

 

 

--------end------------

阅读(2325) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~