今天,機器卡住了,直接電源關機。導致讀取oralce數據庫ORA-01033:ORACLE initialization or shutdown in progress,重啟服務或者用各種網上都沒解決。最後按下面的方式解決了。
Cmd下輸入sqlplus /nolog執行以下後恢復,解決了出現ORA-01033: ORACLE initialization or shutdown in progress
(遇到了ORA-01589這個錯誤也同樣處理)下面把解決方案記錄如下:
SQL*Plus: Release 9.2.0.1.0 - Production on 星期四 4月 17 15:01:26 2008
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn / as sysdba;
已連接。
SQL> shutdown immediate;
ORA-01109: 數據庫未打開
已經卸載數據庫。
ORACLE 例程已經關閉。
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
數據庫裝載完畢。
ORA-01589: 要打開數據庫則必須使用 RESETLOGS 或 NORESETLOGS 選項
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR 位於第 1 行:
ORA-01113: 文件 1 需要介質恢復
ORA-01110: 數據文件 1: '。。。。ORACLE\ORADATA\EYGLE\SYSTEM01.DBF'
SQL> recover database using backup controlfile;
ORA-00279: 更改 1670743 (在 04/17/2008 14:13:16 生成) 對於線程 1 是必需的
ORA-00289: 建議: D:\app\lfy\oradata\orcl\REDO01.LOG
ORA-00280: 更改 1670743 對於線程 1 是按序列 # 30 進行的
指定日志: {=suggested | filename | AUTO | CANCEL}
D:\app\lfy\oradata\orcl\REDO01.LOG
ORA-00310: 存檔日志包含序列 29;要求序列 30
ORA-00334: 歸檔日志: 'D:\app\lfy\oradata\orcl\REDO01.LOG'
SQL> recover database using backup controlfile;
ORA-00279: 更改 1670743 (在 04/17/2008 14:13:16 生成) 對於線程 1 是必需的
ORA-00289: 建議: D:\app\lfy\oradata\orcl\REDO02.LOG
ORA-00280: 更改 1670743 對於線程 1 是按序列 # 30 進行的
指定日志: {=suggested | filename | AUTO | CANCEL}
D:\app\lfy\oradata\orcl\REDO02.LOG
已應用的日志。
完成介質恢復。
SQL> alter database open resetlogs;
數據庫已更改。
然後,再登陸數據庫,OK了!大功告成!不用像網上說的要重裝數據庫或刪除實例等。