機器遭遇斷電,之後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. 成功。