今天根据piner以前发的一个关于备份恢复文档做测试,其中看到关于当前联机日志文件被删除后怎么打开数据库的方式,原文如下:
5.1.2 损坏当前联机日志
归档模式下当前日志的损坏有两种情况,
一、是数据库是正常关闭,日志文件中没有未决的事务需要实例恢复,当前日志组的损坏就可以直接用alter database clear unarchived logfile group n来重建。
我做的测试如下:
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
1 1 2 104857600 1 YES INACTIVE 63118 18-DEC-08
2 1 3 104857600 1 NO CURRENT 63123 18-DEC-08
3 1 1 104857600 1 YES INACTIVE 59231 18-DEC-08
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> host
oracle@localhost /opt/oracle/oradata/XXXX$mv redo02.log ../
SQL*Plus: Release 9.2.0.4.0 - Production on Thu Dec 18 21:48:10 2008
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 1696144180 bytes
Fixed Size 453428 bytes
Variable Size 469762048 bytes
Database Buffers 1224736768 bytes
Redo Buffers 1191936 bytes
Database mounted.
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/opt/oracle/oradata/XXXX/redo02.log'
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
1 1 2 104857600 1 YES INACTIVE 63118 18-DEC-08
2 1 3 104857600 1 NO CURRENT 63123 18-DEC-08
3 1 1 104857600 1 YES INACTIVE 59231 18-DEC-08
SQL> alter database clear logfile group 2;
alter database clear logfile group 2
*
ERROR at line 1:
ORA-00350: log 2 of thread 1 needs to be archived
ORA-00312: online log 2 thread 1: '/opt/oracle/oradata/XXXX/redo02.log'
SQL> alter database clear unarchived logfile group 2;
alter database clear unarchived logfile group 2
*
ERROR at line 1:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/opt/oracle/oradata/XXXX/redo02.log'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIM
------------- ---------
1 1 2 104857600 1 YES INACTIVE
63118 18-DEC-08
2 1 0 104857600 1 NO CLEARING_CURRENT
63123 18-DEC-08
3 1 0 104857600 1 YES UNUSED
0 18-DEC-08
我按照文档所说的测试,执行alter database clear unarchived logfile group N后,该组日志的状态变为了CLEARING_CURRENT.
而且报找不到文件的linux error.
数据库恢复进行不下去.
请问是我这样存在那些问题??
还是测试的过程中忘记了那些步骤??
[ 本帖最后由 crpp0902 于 2008-12-18 23:28 编辑 ]
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28419/viewspace-613766/
,如需转载,请注明出处,否则将追究法律责任。