1. 程式人生 > >ORA-03113: end-of-file on communication channel (通訊通道的檔案結尾)Oracle資料庫啟動異常

ORA-03113: end-of-file on communication channel (通訊通道的檔案結尾)Oracle資料庫啟動異常

機器遭遇斷電,之後oracle就不能啟動了,報錯ORA-03113: end-of-file on communication channel (通訊通道的檔案結尾)
  1. 首先,開啟命令列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
    已連線。
  2. SQL> startup
  3. ORACLE instance started.
  4. Total System Global Area 1252663296 bytes
  5. Fixed Size 2227944 bytes
  6. Variable Size 704643352 bytes
  7. Database Buffers 536870912 bytes
  8. Redo Buffers 8921088 bytes
  9. Database mounted.
  10. ORA-03113: end-of-file on communication channel
  11. Process ID: 8117
  12. Session ID: 191 Serial number:
     3
網上分析,可能由於昨晚資料庫強制關閉,導致檔案狀態可能不一致,因為正常關閉資料庫會同步校驗各檔案,使得重新啟動的時候檔案時間點一致。解決方案如下

啟動DB

  1. SQL> conn / as sysdba
  2. Connected to an idle instance.
  3. SQL> startup mount
  4. ORACLE instance started.

直接reset不成功

  1. SQL> select * from v$log;
  2.     GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC
  3. ---------- ----
    ------ ---------- ---------- ---------- ---------- ---
  4. STATUS FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# NEXT_TIME
  5. ---------------- ------------- --------- ------------ ---------
  6.          1 1 112 52428800 512 1 NO
  7. INACTIVE 3826382 16-JUL-13 3857158 17-JUL-13
  8.          3 1 114 52428800 512 1 NO
  9. CURRENT 3886899 17-JUL-13 2.8147E+14
  10.          2 1 113 52428800 512 1 NO
  11. INACTIVE 3857158 17-JUL-13 3886899 17-JUL-13
  12. SQL> alter database open resetlogs 2;
  13. alter database open resetlogs 2
  14.                               *
  15. ERROR at line 1:
  16. ORA-02288: invalid OPEN mode

恢復資料庫

  1. SQL> alter database open resetlogs;
  2. alter database open resetlogs
  3. *
  4. ERROR at line 1:
  5. ORA-01139: RESETLOGS option only valid after an incomplete database recovery
  6. SQL> recover database until time '2013-07-05'
  7. Media recovery complete.
  8. SQL> alter database open resetlogs;
  9. Database altered.

成功。