来自:http://gongxh880105.blog.163.com/blog/static/12419217020097103046754/
1.在命令行下输入C:\Documents and Settings\Administrator>sqlplus /nolog
回车后显示:
SQL*Plus: Release 9.2.0.1.0 - Production on 星期三 8月 9 21:53:40 2006 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
2.输入SQL> connect / as sysdba;
回车后显示:
已连接。
3.输入SQL> shutdown immediate;
回车后显示:
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
4.输入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-00313: 无法打开日志组 1 (线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: 'C:\ORACLE\ORADATA\ORCL\REDO01.LOG'
---------------------------------------------------------------
可见这是由于C:\ORACLE\ORADATA\ORCL\REDO01.LOG被误删造成的,按照如下方法解决:
首先,执行下面的语句看看group1是不是current日志组
select group#,sequence#,archived,status from v$log;
如果被删除的日志不是当前日志组的成员,比较简单
alter database clear logfile group 1;
如果你的库是非归档的,或许要用下面的语句
alter database clear unarchived logfile group 1;
如果是当前日志组损坏,但是数据库是正常关闭的,上面的办法也可以使用
如果日志组中有活动的事务,那么可能需要利用备份来恢复了,否则只有通过隐含参数强制打开库