ORA-01536:超出表空间XXXX的空间限额
问题描述:在FMIS2600用户下进行某个DDL或DML操作时,提示:ORA-01536:超出表空间FMIS2600 的空间限额 或者 ORA-01950: 对表空间
/*******************ORA-01536:超出表空间XXXX的空间限额*******************/
/*******************ORA-01950: 对表空间FMISINDEX无权限*******************/
问题描述:在FMIS2600用户下进行某个DDL或DML操作时,提示:ORA-01536:超出表空间FMIS2600 的空间限额 或者 ORA-01950: 对表空间FMISINDEX无权限
问题分析:1>检查表空间FMIS2600 的空间使用情况,发现表空间开启的是自增长,且还有约60%的剩余空间,排除表空间不足的原因
2>检查用户的表空间配额:select * from dba_ts_quotas;--max_bytes字段为-1 代表没有限制 ,发现是配额不足的问题
用户配额:表空间的大小与用户的配额大小是两种不同的概念,表空间的大小是指实际的用户表空间的大小,而配额大小指的是用户指定使用表空间的的大小,把表空间文件增大,并不能解决这个问题,用户在使用表空间的同时使用空间的限额,如果超出限制,就算有多余的空间,也不会让用户使用。(例如:2G的表空间大小,可能给某个用户只分配了100M的使用配额)
解决方法:1>给用户授权:不对用户做表空间限额控制(针对所有表空间):
GRANT UNLIMITED TABLESPACE TO 用户名;
2>针对特定的表空间,修改用户配额:
ALTER USER 用户名 QUOTA UNLIMITED ON 表空间;
回收表空间配额控制:
REVOKE UNLIMITED TABLESPACE FROM USERNAME;
或者
ALTER USER USERNAME QUOTA 0 ON TABLESPACENAME;
Linux-6-64下安装Oracle 12C笔记
RHEL6.4_64安装单实例Oracle 12cR1
Oracle 12C新特性之翻页查询
解读 Oracle 12C 的 12 个新特性