欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle丢失inactive日志文件的恢复操作过程

程序员文章站 2022-04-22 11:53:44
...

丢失非活动日志组的故障恢复如果数据库丢失的是非活动(inactive)日志组,由于非活动日志组已经完成检查点,数据库不会发生数据损失

丢失非活动日志组的故障恢复
如果数据库丢失的是非活动(inactive)日志组,由于非活动日志组已经完成检查点,
数据库不会发生数据损失,此时只需要通过clear重建该日志组即可恢复.
先删除一个非活动日志组,模拟一次故障损失:
SQL> !rm /u01/app/Oracle/product/10.2.0/oradata/jingyong/redo03.log

SQL> alter system switch logfile;

System altered.

SQL> alter system switch logfile;

System altered.

此时启动数据库,数据库会提示日志丢失
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area 167772160 bytes
Fixed Size 1218316 bytes
Variable Size 67111156 bytes
Database Buffers 96468992 bytes
Redo Buffers 2973696 bytes
Database mounted.
ORA-00313: open failed for members of log group 3 of thread 1
ORA-00312: online log 3 thread 1:
'/u01/app/oracle/product/10.2.0/oradata/jingyong/redo03.log'

此时在mount状态,可以查看各日志组及日志文件的状态:
SQL> select * from v$log;

GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIME
------------- ------------
1 1 26 52428800 1 NO INACTIVE
913689 06-JAN-13

3 1 28 52428800 1 NO CURRENT
913701 06-JAN-13

2 1 27 52428800 1 NO INACTIVE
913696 06-JAN-13


SQL> select * from v$logfile;

GROUP# STATUS TYPE
---------- ------- -------
MEMBER
--------------------------------------------------------------------------------
IS_
---
3 ONLINE
/u01/app/oracle/product/10.2.0/oradata/jingyong/redo03.log
NO

2 ONLINE
/u01/app/oracle/product/10.2.0/oradata/jingyong/redo02.log
NO

GROUP# STATUS TYPE
---------- ------- -------
MEMBER
--------------------------------------------------------------------------------
IS_
---

1 ONLINE
/u01/app/oracle/product/10.2.0/oradata/jingyong/redo01.log
NO

Oracle丢失inactive日志文件的恢复操作过程