欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2024-01-25 15:52:04
...

问题描述:在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 个新特性