错误现象: 
因误操作,数据库中某一数据文件被误删,控制面板的Oracle相关服务显示已启动,但用SQL*Plus无法连接,显示以下错误: 
ORA-01033: ORACLE initialization or shutdown in progress 
C:\Documents and Settings\Administrator>sqlplusSQL*Plus: Release 9.2.0.1.0 - Production on 星期五 3月 27 10:30:50 2009Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.请输入用户名:  sq
请输入口令:
ERROR:
ORA-01033: ORACLE initialization or shutdown in progress
然后采用下列方法:
C:\Documents and Settings\Administrator>sqlplus/nologSQL*Plus: Release 9.2.0.1.0 - Production on 星期五 3月 27 10:26:28 2009Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.SQL> conn sys/letmein as sysdba;
已连接。
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-00313: 无法打开日志组 1 (线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: 'C:\ORACLE\ORADATA\OCEAN\REDO01.LOG'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
请问该问题如何解决?

解决方案 »

  1.   

    我也遇到过几次 是用那些清理软件把ORACLE的日志文件给干掉了    到控制台去 关了 再开下 
      

  2.   

    如果你的数据库是用shutdown immediate关闭的
    在现在的状态下执行如下如命令:alter database recover cancel;
    提示数据库恢复完成时,再执行alter database open;
    提醒:无论是自己的数据库还是服务器数据库,请都不要使用优化大师、超级兔子之类的软件。
      

  3.   

    如果你的数据库是用shutdown immediate关闭的 
    在现在的状态下执行如下如命令:alter database recover until cancel; 
    提示数据库恢复完成时,再执行alter database open; 
    提醒:无论是自己的数据库还是服务器数据库,请都不要使用优化大师、超级兔子之类的软件。
      

  4.   

    看出错信息,删的应该是redo01
    如果1号非当前日志,
    alter database clear logfile group 1;
    再alter database open就能搞定如果是当前日志,通过不完全恢复就可以
    命令见楼上
      

  5.   

    Microsoft Windows XP [版本 5.1.2600]
    (C) 版权所有 1985-2001 Microsoft Corp.C:\Documents and Settings\Administrator>sqlplus/nologSQL*Plus: Release 9.2.0.1.0 - Production on 星期五 3月 27 19:31:49 2009Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.SQL> alter database clear logfile group 1;
    SP2-0640: 未连接
    SQL> alter database open;
    SP2-0640: 未连接
    SQL> alter database recover until cancel;
    SP2-0640: 未连接
    SQL> shutdown immediate;
    ORA-01012: not logged on
    SQL>楼上提供的方法都不能成功啊????
      

  6.   

    你都没有登陆,怎么能操作呢?conn / as sysdba;
    startup nomount;
    alter database mount;然后,再做其他操作。
      

  7.   

    当前日志组吗?还是非当前?select * from v$log