Oracle错误ORA-03113: end-of-file on communication channel处理办法

Oracle错误ORA-03113: end-of-file on communication channel处理办法
 
机器遭遇断电,之后oracle就不能启动了,报错ORA-03113: end-of-file on communication channel (通信通道的文件结尾)


SQL> startup
ORACLE instance started.
 
Total System Global Area 1252663296 bytes
Fixed Size2227944 bytes
Variable Size704643352 bytes
Database Buffers 536870912 bytes
Redo Buffers 8921088 bytes
Database mounted.
ORA-03113: end-of-fileon communication channel
Process ID: 8117
Session ID: 191 Serial number: 3
网上分析,可能由于昨晚数据库强制关闭,导致文件状态可能不一致,因为正常关闭数据库会同步校验各文件,使得重新启动的时候文件时间点一致。解决方案如下
启动DB
SQL> conn / as sysdba
Connected to an idle instance.
 
SQL> startup mount
ORACLE instance started.
直接reset不成功
SQL> select* from v$log;
 
    GROUP# THREAD#SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC
---------- ---------- ---------- ---------- ---------- ---------- ---
STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
---------------- ------------- --------- ------------ ---------
         1 1 112 52428800 512 1NO
INACTIVE 3826382 16-JUL-13 3857158 17-JUL-13
 
         3 1 114 52428800 512 1NO
CURRENT 3886899 17-JUL-13 2.8147E+14
 
         2 1 113 52428800 512 1NO
INACTIVE 3857158 17-JUL-13 3886899 17-JUL-13
 
 
SQL> alterdatabase open resetlogs;
alter database open resetlogs
*
ERROR atline 1:
ORA-01139: RESETLOGSoption onlyvalid after an incomplete database recovery
 
 
SQL> recover database until time'2013-07-05'
Media recovery complete.
SQL> alterdatabase open resetlogs;
 
Databasealtered.
成功。

     注:如果 alterdatabase open resetlogs;执行提示失败,那么 alter database opennoresetlogs;