机器遭遇断电,之后oracle就不能启动了,报错ORA-03113: end-of-file on communication channel (通信通道的文件结尾)
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 417546240 bytes
Fixed Size 2213936 bytes
Variable Size 398460880 bytes
Database Buffers 8388608 bytes
Redo Buffers 8482816 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
Process ID: 2517
Session ID: 1137 Serial number: 5
网上分析,可能由于昨晚数据库强制关闭,导致文件状态可能不一致,因为正常关闭数据库会同步校验各文件,使得重新启动的时候文件时间点一致。解决方案如下
启动DB
SQL> exit
[oracle@iZwz94iiauukqd0inyhirbZ ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Mon Nov 14 13:25:52 2016
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup mount
ORACLE instance started.
Total System Global Area 417546240 bytes
Fixed Size 2213936 bytes
Variable Size 398460880 bytes
Database Buffers 8388608 bytes
Redo Buffers 8482816 bytes
Database mounted.
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC
---------- ---------- ---------- ---------- ---------- ---------- ---
STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE#
---------------- ------------- ------------------ ------------
NEXT_TIME
------------------
1 1 151 52428800 512 1 NO
INACTIVE 4428274 13-NOV-16 4460292
13-NOV-16
3 1 153 52428800 512 1 NO
CURRENT 4486336 13-NOV-16 2.8147E+14
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC
---------- ---------- ---------- ---------- ---------- ---------- ---
STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE#
---------------- ------------- ------------------ ------------
NEXT_TIME
------------------
2 1 152 52428800 512 1 NO
INACTIVE 4460292 13-NOV-16 4486336
13-NOV-16
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01139: RESETLOGS option only valid after an incomplete database recovery
SQL> r ecover database until time '2016-11-13'
Media recovery complete.
SQL> alter database open resetlogs;
Database altered.
成功。