用Control file恢復DB運行
2024-07-21 02:39:59
供稿:網友
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 process2. Startup mount,3. “alter database backup control to trace”4. Find the trace file,and open it5. Startup nomount6. recreate controlfile using resetlogs7. “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步執行時間較長。