Oracle 11g ORA-03113故障,重建控制檔案
Windows環境下的Oracle 11g在一次關機後,無法正常啟動,且無法啟動到mount狀態,一直提示:
ORA-03113: end-of-file on communication channel
Process ID: 4276
Session ID: 1286Serial number: 2
在D:\app\Administrator\diag\rdbms\wind\wind\trace目錄裡找到相應號碼的trc檔案檢視,發現如下提示:
Error:kccpb_sanity_check_2
Control filesequence number mismatch!
fhcsq: 168754bhcsq: 168757 cfn 0
所以確認為控制檔案問題引起。
首先退出了SQLPLUS,然後把庫檔案所在的整個目錄備份了一份。
然後嘗試restore控制檔案:
C:\> rman target/
RMAN> shutdownimmediate
RMAN> startupnomount
RMAN> restorecontrolfile from ‘D:\ptc\Windchill_10.0\ocu\oradata\wind\CONTROL03_WIND.CTL’;
完成以上操作後,重新進入SQLPLUS,啟動資料庫時問題依舊。
可以確認所有控制檔案全部出了問題,因庫檔案等都存在,所以決定重建控制檔案:
C:\> sqlplus /nolog
SQL> conn / as sysdba
SQL> shutdown immediate
SQL> startup nomount
SQL> CREATE CONTROLFILE REUSE DATABASE "WIND"NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXDATAFILES 100
MAXINSTANCES 2
MAXLOGHISTORY 453
LOGFILE
GROUP 1'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDREDO01.LOG' SIZE 50M,
GROUP 2'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDREDO02.LOG' SIZE 50M,
GROUP 3'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDREDO03.LOG' SIZE 50M
DATAFILE
'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDBLOBS01.DBF',
'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDINDEX01.DBF',
'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDSYSAUX01.DBF',
'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDSYSTEM01.DBF',
'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDUNDOTBS01.DBF',
'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDUSERS01.DBF',
'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDWCAUDIT01.DBF'
CHARACTER SET ZHS16GBK;
SQL> RECOVER DATABASE;
SQL> alter database open;
SQL> alter tablespace temp
add tmpfile'D:\ptc\Windchill_10.0\ocu\oradata\wind\WINDTEMP01.DBF'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE 5G;
完成以上步驟後,重啟資料庫正常。