之前因为意外死机,导致oracle服务意外停止,重启后oracle发生了ORA-01033: ORACLE initialization or shutdown in progress提示
百度后说是日志文件没有被保存,启动时找不到,
按照网上提供的方法也没有搞定,Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
ORA-00313: 无法打开日志组 1 (线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: 'C:\ORACLE\ORADATA\ORACLE\REDO01.LOG'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
这是在cmd运行startup看到的错误,请各位指教,小弟不甚感激

解决方案 »

  1.   

    首先,执行下面的语句看看group1是不是current日志组
    select * from v$log;
    如果被删除的日志不是当前日志组的成员,比较简单
    alter database clear logfile group 1;
    如果你的库是非归档的,或许要用下面的语句
    alter database clear unarchived logfile group 1;
    如果是当前日志组损坏,但是数据库是正常关闭的,上面的办法也可以使用
    如果日志组中有活动的事务,那么可能需要利用备份来恢复了:过程如下:
    解决过程:Microsoft Windows XP [版本 5.1.2600](C) 版权所有 1985-2001 Microsoft Corp.
    C:\Documents and Settings\5201314>sqlplus /nolog
    SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 6月 20 11:19:52 2008Copyright (c) 1982, 2005, Oracle. All rights
    reserved.
    SQL> conn sys/dd as sysdba
    已连接。
    SQL> startup mount
    ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它
    SQL> recover database until time '2008-06-19 13:45:02'; /*恢复*/
    /*(recover database until cancel;alter database resetlogs;重建日志文件),另外的写法,不知哪个对.*/
    完成介质恢复。
    SQL> alter database open resetlogs;
    数据库已更改。
    SQL> shutdown immediate;
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup
    ORACLE 例程已经启动。
    Total System Global Area 205520896 bytes
    Fixed Size 1248092 bytes
    Variable Size 79692964 bytes
    Database Buffers 117440512 bytes
    Redo Buffers 7139328 bytes
    数据库装载完毕。
    数据库已经打开。
    SQL>