出现没有具体表空间的ORA-01652错误
2008-09-09 12:54:37 来源:WEB开发网问:我在执行命令时出现了下列错误:
RMAN>reportschema;
startingfullresyncofrecoverycatalog
RMAN-00571:===========================================================
RMAN-00569:===ERRORMESSAGESTACKFOLLOWS======
RMAN-00571:=====================================
RMAN-03002:failureofreportcommandat05/31/200810:39:03
RMAN-03014:implicitresyncofrecoverycatalogfailed
RMAN-03009:failureoffullresynccommandondefaultchannelat05/31/200810:39:03
ORA-01652:unabletoextendtempsegmentbyintablespace
在执行SHOW ALL时也出现了同样的错误。
这一错误没有详细说明tablespace_name。我还检查了RMAN Catalog db相关空间问题。可是却没有发现任何问题。
答:有两种典型的临时段。第一种就是你的TEMP表空间里的段。第二种就是在重建索引时临时标记的段,之后就成为永久性的段,首先要确保你的TEMP表空间有足够的空间。如果没有,就考虑一下扩大TEMP表空间。否则在创建索引的时候在表空间内就没有足够的空间完成某些创建步骤。我推测Recovery Catalog数据库在表空间里没有足够的空间装RC表和索引。然而,你却能进行1652跟踪,在你的RC数据库中,发布如下命令:
altersystemsetevents’1652tracenameerrorstacklevel1’;
如果ORA-1652错误再次出现,Oracle就会在USER_DUMP_DEST目录里创建一个跟踪文件。这个跟踪文件会告诉你哪个表空间里没有足够的空间,关闭跟踪,发布如下命令:
altersystemsetevents’1652tracenamecontextoff’;
查询DBA_FREE_SPACE看看你的表空间里是否有足够的空间,记住词典管理的表空间里。自由空间可能被分成了很多碎片空间,这样一来,这些空间就真的不能用了。
更多精彩
赞助商链接