
[dmdba@dm ~]$ cd home/dmdba/dmdbms/bin[dmdba@dm bin]$ ./disql testSQL> create table t1(id int);

SELECT F.TABLESPACE_NAME,ROUND((T.TOTAL_SPACE - F.FREE_SPACE) 1024,2) "USED (GB)",ROUND(F.FREE_SPACE 1024,2) "FREE (GB)",ROUND(T.TOTAL_SPACE 1024,2) "TOTAL (GB)",(ROUND((F.FREE_SPACE T.TOTAL_SPACE),4)* 100) || '% ' PER_FREE,(ROUND((T.TOTAL_SPACE - F.FREE_SPACE) T.TOTAL_SPACE, 4) * 100)||'%' PER_USED,T.AUTOEXTENSIBLEFROM (SELECT TABLESPACE_NAME,ROUND(SUM(BLOCKS * page/1024/ 1024)) FREE_SPACEFROM DBA_FREE_SPACEGROUP BY TABLESPACE_NAME) F,( SELECT TABLESPACE_NAME,AUTOEXTENSIBLE, ROUND(SUM(BYTES 1048576)) TOTAL_SPACEFROM DBA_DATA_FILESGROUP BY TABLESPACE_NAME,AUTOEXTENSIBLE) TWHERE F.TABLESPACE_NAME = T.TABLESPACE_NAME;
select t2.name,path,t1.total_size*page/1024/1024 as total_size,t1.free_size*page/1024/1024 as free_size,t1.real_free_size*page/1024/1024 as real_free_size,t1.max_size,t1.next_size,t1.auto_extendfrom v$datafile t1,v$tablespace t2where t1.group_id=t2.idorder by name;
SQL> select cast(dbms_metadata.get_ddl('USER','TEST') as VARCHAR) from dual; --看创建用户的DDL,有没有DISKSPACE LIMIT,大小是页的个数*page
SQL> SELECT QUOTAS.TABLESPACE_NAME, QUOTAS.USERNAME, MAX_BYTES FROM DBA_TS_QUOTAS QUOTAS WHERE QUOTAS.USERNAME = 'TEST';
经过以上3步检查后,发现是给用户设置了磁盘限额,才导致OUT OF SPACE。最后取消磁盘限额或放大磁盘限额解决这个问题。
放大磁盘限额:
SQL> alter user "TEST" diskspace limit 500; --单位是M
取消磁盘限额:
SQL> alter user "TEST" diskspace UNLIMITED;
以上为本期分享,希望能带给大家帮助。
点击了解相关分享:
【干货攻略】间隔分区表merge into报错-2903:间隔分区不支持自动扩展
【干货攻略】达梦数据库通过JDBC批量获取clob数据较慢的问题
【开班通知】DM8-DCP线上培训班招生中(2023-12月)
【开班通知】DM8-DCA线上培训班招生中(2023年12月20日开班)

文章转载自达梦E学,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




