损坏当前REDO LOG 的情况下,RECOVER 方法之一
作者: zhulch(http://zhulch.itpub.net)发表于: 2006.08.02 11:17
分类: ERP(Oracle/SAP)
出处: http://zhulch.itpub.net/post/17395/175767
---------------------------------------------------------------
看到一个网有提出的帖子,做如下的实验。。
环境:
- W2K SERVER
- DB 9.2.0.1
- noarchivelog model
故障现象:
-current relog file crash
解决过程
SQL> archive log list;
数据库日志模式 非存档模式
自动存档 禁用
存档终点 D:oraclearch
最早的概要日志序列 0
当前日志序列 1
SQL> select group#,sequence#,archived,status from v$log;
GROUP# SEQUENCE# ARC STATUS
---------- ---------- --- ----------------
1 0 YES UNUSED
2 0 YES UNUSED
3 1 NO CURRENT
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 101784276 bytes
Fixed Size 453332 bytes
Variable Size 75497472 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-00313: 无法打开日志组 3 (线程 1) 的成员
ORA-00312: 联机日志 3 线程 1: 'D:ORACLEORADATATESTREDO03.LOG'
SQL> shutdown
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 101784276 bytes
Fixed Size 453332 bytes
Variable Size 75497472 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR 位于第 1 行:
ORA-01139: RESETLOGS 选项仅在不完全数据库恢复后有效
SQL> recover database;
ORA-00283: 恢复会话因错误而取消
ORA-00264: 不要求恢复
SQL> alter database clear logfile group 3;
alter database clear logfile group 3
*
ERROR 位于第 1 行:
ORA-00313: 无法打开日志组 3 (线程 1) 的成员
ORA-00312: 联机日志 3 线程 1: 'D:ORACLEORADATATESTREDO03.LOG'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
SQL> recover database until cancel
完成介质恢复。
SQL> alter database open resetlogs;
数据库已更改。
SQL>


