環境: 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表空間失敗,數據連接斷掉。