今天,机器卡住了,直接电源关机。导致读取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: '。。。。ORACLEORADATAEYGLESYSTEM01.DBF'
SQL> recover database using backup controlfile;
ORA-00279: 更改 1670743 (在 04/17/2008 14:13:16 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:applfyoradataorclREDO01.LOG
ORA-00280: 更改 1670743 对于线程 1 是按序列 # 30 进行的
指定日志: {=suggested | filename | AUTO | CANCEL}
D:applfyoradataorclREDO01.LOG
ORA-00310: 存档日志包含序列 29;要求序列 30
ORA-00334: 归档日志: 'D:applfyoradataorclREDO01.LOG'
SQL> recover database using backup controlfile;
ORA-00279: 更改 1670743 (在 04/17/2008 14:13:16 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:applfyoradataorclREDO02.LOG
ORA-00280: 更改 1670743 对于线程 1 是按序列 # 30 进行的
指定日志: {=suggested | filename | AUTO | CANCEL}
D:applfyoradataorclREDO02.LOG
已应用的日志。
完成介质恢复。
SQL> alter database open resetlogs;
数据库已更改。
然后,再登陆数据库,OK了!大功告成!不用像网上说的要重装数据库或删除实例等。