ORACLE!!关于“ORA-01653:表xxx无法通过8(在表空间SYSTEM)扩展

908次阅读

共计 1742 个字符,预计需要花费 5 分钟才能阅读完成。

问题描述

使用expdp导出数据,报ORA-01691表空间不足错误

ORACLE!!关于“ORA-01653:表xxx无法通过8(在表空间SYSTEM)扩展

WTF!!导出怎么会报表空间不足?导出还会占用表空间大小吗?

ORACLE!!关于“ORA-01653:表xxx无法通过8(在表空间SYSTEM)扩展

问题排查及解决

亲自开着挖掘机上百度一顿挖。。。。。。

查看SYSTEM表空间使用率

SQL> select b.tablespace_name "表空间",b.bytes/1024/1024 "大小M",(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 "已使用M",substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) "利用率" from dba_free_space a,dba_data_files b where a.file_id=b.file_id and b.tablespace_name='SYSTEM' group by b.tablespace_name,b.file_name,b.bytes order by b.tablespace_name;
SQL> select tablespace_name,sum(bytes/1024/1024/1024) gbytes from dba_free_space where tablespace_name = 'SYSTEM' group by tablespace_name;

TABLESPACE_NAME                    GBYTES
------------------------------ ----------
SYSTEM                         0.03298889

从这里看,由于system可能存在一些碎片的情况,无法找到一个连续的空间也很正常。由于导出的时候,会生成一个表SYS_EXPORT_SCHEMA_01,这个表主要是记录一些导出的任务信息等内容,其本向大小也就100多m,但是通过查询发现,本表有一个lob字段,已经到了1.2g

SQL> select l.owner,
   2  l.table_name,
   3  l.segment_name,
   4  s.bytes/1024/1024/1024 gbytes
   5  from dba_lobs l,
   6  dba_segments s
   7  where l.table_name like 'SYS_EXPORT_SCHEMA%' and
   8  l.table_name = s.segment_name;

 OWNER                          TABLE_NAME                     SEGMENT_NAME                       GBYTES
 ------------------------------ ------------------------------ ------------------------------ ----------
 SYSDB                          SYS_EXPORT_SCHEMA_01          SYS_LOB0000665077C00039$$          1.2479325

可以看到lob字段已经比较大了,并且还在扩张。

出现这种情况,也比较正常,比如说导出的内容挺多,需要记录到这个表中,导致这个lob段不断的扩展!

解决办法就是扩展system表空间!!

[v_notice]

1、为SYSTEM表空间增加一个数据文件SYSTEM02.DBF

2、设置SYSTEM表空间为自动拓展[/v_notice]

拓展数据文件

SQL> select file_name,bytes from dba_data_files where tablespace_name = 'SYSTEM';

FILE_NAME                                                BYTES
---------------------------------------------------------------
/u01/app/oracle/oradata/myerp/system01.dbf              2147483648

SQL> alter database datafile '/u01/app/oracle/oradata/myerp/system01.dbf' resize 4096m

设置为自动拓展

alter database datafile '/u01/app/oracle/oradata/myerp/system01.dbf' autoextend on next 50m maxsize 32000m;

将文件扩展到4g后,expdp任务执行完成!

尾巴

最近真的是被Oracle搞的不要不要的,阿里去IOE万岁

ORACLE!!关于“ORA-01653:表xxx无法通过8(在表空间SYSTEM)扩展

正文完
 
mervinwang
版权声明:本站原创文章,由 mervinwang 2018-04-12发表,共计1742字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
文章搜索