eason:
由于应用程序的一些错误,导致Oracle session快速增长,DB 发生
ora-00600 错误,Undotbs不够用,DB自己关闭,导致双机切换,切换后又发生类似现象,双机多次切换,导致DB关闭不正常,再次打开时发生如下错误:
ORA-01207 file is more recent than controlfile - old controlfile
Reference:该错误的oracle解释
Cause: The control file change sequence number in the datafile is greater than the number in the control file. This implies that the wrong control file is being used. Note that repeatedly causing this error can make it stop happening without correcting the real problem. Every attempt to open the database will advance the control file change sequence number until it is great enough.
Action: Use the current control file or do BACKUP CONTROLFILE RECOVERY to make the control file current. Be sure to follow all restrictions on doing a BACKUP CONTROLFILE RECOVERY.
Target: 尽快打开Oracle DB,恢复业务,更改应用软件错误部分。
Solution:
1. Check alert file,kill monitor process
2. Startup mount,
3. “alter database backup control to trace”
4. Find the trace file,and open it
5. Startup nomount
6. recreate controlfile using resetlogs
7. “recover database using backup controlfile”
8. “alter database open resetlogs;”
9. “alter tablespace temp add tempfile '.dbf' reuse;”
ok!
Remark:
1. 在执行第6步的时候原本用noresetlogs,但recreate controlfile不成功,可能relogs也遭到破坏,其中对VG进行了释放再激活操作,仍然create controlfile失败。最终采用resetlogs方式。
2. 在执行第7步时需注重,要一个一个的输入redolog以做尝试,输入一个正确的redolog后可能还需下一个redolog继续做恢复,直到出现“完成介质恢复”字样。
3. 第8步执行时间较长。