机器遭遇断电,之后oracle就不能启动了,报错ORA-03113: end-of-file on communication channel (通信通道的文件结尾)
SQL> conn /as sysdba
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.
成功。