ORA-01536:超出表空间XXXX的空间限额


/*******************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 个新特性

相关内容

    暂无相关文章