>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 3月 26 17:19:39 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn / as sysdba
已连接。
SQL> shutdown immediate;
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup ORACLE 例程已经启动。
Total System Global Area 612368384 bytes Fixed Size 1250428 bytes Variable Size 234883972 bytes Database Buffers 369098752 bytes Redo Buffers 7135232 bytes 数据库装载完毕。 ORA-00313: 无法打开日志组 1 (用于线程 1) 的成员 ORA-00312: 联机日志 1 线程 1: 'D:\ORACLE\PRODUCT\10.2.0\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; 如果是当前日志组损坏,但是数据库是正常关闭的,上面的办法也可以使用 如果日志组中有活动的事务,那么可能需要利用备份来恢复了,否则只有通过隐含参数强制打开库(不推荐,如果是生产库,最好请求技术支持)
即执行:
alter database clear logfile group 1; alter database clear logfile group 3;
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 234883972 bytes
Database Buffers 369098752 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
ORACLE 例程已经启动。
SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-01248: 文件 7 在将来的不完整恢复中创建
ORA-01110: 数据文件 7: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\PLATFORM'
SQL> alter database datafile 7 offline drop;
数据库已更改。
SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-01092: ORACLE 实例终止。强制断开连接
后来重启了一下服务居然可以了^_^
当然过程中还有很多弯路没有写!