机器遭遇断电,之后oracle就不能启动了,报错ORA-03113: end-of-file on communication channel (通信通道的文件结尾)
网上分析,可能由于昨晚数据库强制关闭,导致文件状态可能不一致,因为正常关闭数据库会同步校验各文件,使得重新启动的时候文件时间点一致。解决方案如下
- 首先,打开命令行cmd:
C:\Documents and Settings\Administrator>sqlplus system/123456
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 11月 11 11:31:13 2013
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> conn /as sysdba
已连接。
-
- SQL> startup
- ORACLE instance started.
-
- Total System Global Area 1252663296 bytes
- Fixed Size 2227944 bytes
- Variable Size 704643352 bytes
- Database Buffers 536870912 bytes
- Redo Buffers 8921088 bytes
- Database mounted.
- ORA-03113: end-of-file on 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 1 NO
- INACTIVE 3826382 16-JUL-13 3857158 17-JUL-13
-
- 3 1 114 52428800 512 1 NO
- CURRENT 3886899 17-JUL-13 2.8147E+14
-
- 2 1 113 52428800 512 1 NO
- INACTIVE 3857158 17-JUL-13 3886899 17-JUL-13
-
-
- SQL> alter database open resetlogs 2;
- alter database open resetlogs 2
- *
- ERROR at line 1:
- ORA-02288: invalid OPEN mode
恢复数据库
- 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> recover database until time '2013-07-05'
- Media recovery complete.
- SQL> alter database open resetlogs;
-
- Database altered.
成功。