记ORA-00600 [25012]的一次解决过程
OS:aix5
DB:9.2.0.8
客户需要把生产库通过RMAN的方式还原到开发测试环境中,通过RMAN还原数据文件、控制文件以及相关的归档文件后,开始对数据库进行recover操作,在还原完所有归档后报以下错误:
ORA-01547、ORA-01194、ORA-01110
通过alter database open resetlogs;
报:
SQL>alterdatabaseopenresetlogs;
alterdatabaseopenresetlogs
*
ERRORatline 1:
ORA-01194: file 1 needs more recoverytobe consistent
ORA-01110:
通过设置隐藏参数
_allow_resetlogs_corruption= TRUE
打开数据库。
打开后数据库开始报ORA-00600错误
ORA-00600: internal error code, arguments: [25012], [1], [0], [], [], [], [], []
ORA-00600: internal error code, arguments: [25012], [1], [63], [], [], [], [], []
查看资料发知道:
ORA-600 [25012] [a] [b]
*c0`!]1m x s0|0Arg [a] Tablespace Number
Fg9N9~4\1f D0Arg [b] Relative file numberITPUB个人空间*]2qX.NC1vg)R*@
查询ts#为1的表空间发觉为undotbs1表空间。
参考网上几位大师写的文档,发觉都不太适合解决该问题,最后只能尝试重建undotbs1,在切换到undotbs2后,删除undotbs1的时候始终报ORA-30013错误,根据查看发现undotbs1里面_SYSSMU6$回滚段始终在线,尝试设置_smu_debug_mode=4的方式来使_SYSSMU6$回滚段离线,但始终无法成功,最后只能再次使用隐藏参数:
_offline_rollback_segments=(_SYSSMU6$)ITPUB个人空间ldtx(X
_corrupted_rollback_segments=(_SYSSMU6$)
重新启动数据库后,成功删除undotbs1,重建undotbs1.
本以为已经顺利结束,结果发现数据库继续报:
ORA-02019: connection description for remote database not foundITPUB个人空间!~C@J-iU
该错误是由于分布式错误引起,处理完该错误后,此次恢复总算完成。
记录下,有点粗略,O(∩_∩)O哈!