SQL>
[oracle@ts01 oracle]$ tail pfile.tmp
*.undo_management='AUTO'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS2'
*.user_dump_dest='/oracle/admin/TSMISC02/udump'
*._ALLOW_RESETLOGS_CORRUPTION = TRUE
*.undo_management='manual'
[oracle@ts01 oracle]$ exit
SQL> startup pfile=pfile.tmp
ORACLE instance started.
Total System Global Area 236000356 bytes
Fixed Size 451684 bytes
Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
SQL>
SQL> conn lunar/lunar
Connected.
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
LUNARTEST TABLE
SQL>
总结:
将undo改变成手工管理的,
IXDBA.NET技术社区
然后设置隐含参数 _ALLOW_RESETLOGS_CORRUPTION = TRUE 和 _corrupted_rollback_segments ,因为redo损坏的时候,undo数据也大都不一致
了。
2,open resetlogs之前,先使用recover database using backup controlfile until cancel;
如果此时又遇到600错误,就使用ADJUST_SCN事件来调整当前的SCN,如果SCN相差不多,可以通过多次重起数据库解决。如果scn相差比较多,
可以使用10015 event:
alter session set events '10015 trace name adjust_scn level 1';
如果SCN相差比较多,可以设置level 2,。。。level 10等 (level 1是每次打开时将将scn推进1百万)