本文转载自:http://blog.163.com/liuyang_yes/blog/static/128133212200911244347802/
某天工作需要连接oracle时突然报错oracle initialization or shutdown in progress,具体是什么操作导致这个问题也不知道,后来网上找到了解决方案,自己试过的,成功的解决了问题,在这记录一下,期望有机会也可以帮到别人。
Oracle提示ORA-00313的错误,并且报ORA-00313和ORA-00312错误,原因是日志被误操作删除,解决方法如下:
运行cmd
C:\Documents and Settings\administrator>sqlplus /nolog
SQL> conn sys/sys as sysdba
已连接。
SQL> startup mount
ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
(ORA-01081: cannot start already-running ORACLE - shut it down first)
SQL> recover database until time '2009-11-13 13:45:02';
完成介质恢复。
(Media recovery complete.)
SQL> alter database open resetlogs;
数据库已更改。
(Database altered.)
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
( Database closed.
Database dismounted.
ORACLE instance shut down. )
SQL> startup
ORACLE 例程已经启动。
(ORACLE instance started.)
Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 145488364 bytes
Database Buffers 25165824 bytes
Redo Buffers 524288 bytes
Database mounted.(数据库装载完毕。)
Database opened.(数据库已经打开。)
后续:本以为问题就解决了,可是几天之后,再次用PL/SQL Developer连接数据库时又报同样的错ora-00313,这个时候我用上边的方法就不可以了,是这样解决的,记录如下:
①sqlplus /nolog
②conn sys/sys as sysdba
③shutdown normal
④startup mount
⑤alter database open;报错
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
接下来
⑥alter database open resetlogs;
Database altered.(成功,再次登录,就可以了)