環境: 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資料表空間失敗,資料連線斷掉。
本文出自 “IT人的網路人生” 部落格,請務必保留此出處http://rainyang.blog.51cto.com/469543/1347834