一例冷備份恢復引起的ORACLE數據庫頻繁重啓故障

環境: ORACLE 11G R2+windows2012

描述: 客戶還原冷備份後啓動數據庫,啓動後大概30秒左右數據庫無法操作,提示ORA-03113:通信通道的文件結尾解決,再次啓動後經過30秒左右會再次無法操作。


處理過程:


1.進入操作系統,查看相關日誌。

查看日誌報錯,發現ORA-00600: internal error code, arguments: [3005]

同時觀察到DATA目錄的undo表空間物理文件時間未發生變化,其他物理文件更新都已經成爲最新時間。

於是對重做表空間物理文件進行重建操作

具體操作步驟如下:


sqlplus /nolog

SQL> conn /as sysdba;

SQL> startup mount;

SQL> --根據目前的動態參數文件創建靜態參數文件

SQL> create pfile='D:\20130101.ora' from spfile;


#修改生成的20130101.ora文件


*.undo_management='MANUAL'

*._corrupted_rollback_segments=(_SYSSMU3$)

[oracle@DB ~]$ exit

SQL> --查看原undo表空間名

SQL> show parameter undo;

NAME         TYPE          VALUE

------------------------------------ --------------------------------- ------------------------------

undo_management        string          AUTO

undo_retention        integer          10800

undo_tablespace        string          UNDOTBS1

SQL> --關閉數據庫

SQL> shutdown immediate;

SQL> --根據修改後的20130101.ora靜態參數文件啓動數據庫

SQL> startup pfile='D:\20120101.ora'

SQL> --創建新的undo表空間


SQL> create undo tablespace UNDOTBS2 datafile '數據文件目錄\undotbs01.dbf' size 2g;

SQL> --刪除原undo表空間


SQL> drop tablespace UNDOTBS1 including contents and datafiles;

SQL> --修改新的表空間undotbs2名爲undotbs1

SQL> alter tablespace UNDOTBS2 rename to UNDOTBS1;

SQL> --關閉數據庫

SQL> shutdown immediate;

SQL> --再次啓動數據庫(問題解決)

SQL> startup;


數據庫至此恢復正常,經過24個小時的運行,無任何問題,問題已經解決。

PS:估計客戶在冷備份的時候拷貝的UNDO表空間物理文件受損或者在庫沒有完全停止的情況下拷貝,造成文件受損,在沒有UNDO表空間的情況庫可以啓動,但如果有數據修改就會發生寫入UNDO表空間失敗,數據連接斷掉。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章