在线日志文件丢失的恢复(笔记)

在线日志文件丢失有二种情况,一是丢失非当前日志,这时可以通过
 SQL>alter database clear logfile group 3;[已归档]
  或
SQL>alter database clear unarchived logfile group 3;[未归档]  重建在线日志。
 
二是丢失了当前日志,也有两种情况, 一是正常关闭情况下,数据是一致的,采用SQL>alter database clear unarchived logfile group 3;[未归档] ,执行重建。
如果在归档模式下运行,当前日志未归档,则:
 
SQL> alter database clear unarchived logfile group 1;
alter database clear unarchived logfile group 1
*
第 1 行出现错误:
ORA-00313: 无法打开日志组 1 (用于线程 1) 的成员
ORA-00312: 联机日志 1 线程 1:
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ANRAN\ONLINELOG\O1_MF_1_632LS2WQ_.LOG'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
ORA-00312: 联机日志 1 线程 1:
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ANRAN\ONLINELOG\O1_MF_1_632LS1PW_.LOG'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
这里需要COPY一个有效的备份,然后再执行clear unarchived logfile。
 
二是非正常关闭,这种比较麻烦,基本上有两种方法补救:
      一是通过有效全备份执行不完恢复,until scn/time 。这样可能会有数据的丢失。
      二是通过隐含参数_allow_resetlogs_corruption=TRUE强制打开,这种方法丢失的数据也许会少些[比上一种]。但数据很可能不一致。

本文转自 anranran 51CTO博客,原文链接:http://blog.51cto.com/guojuanjun/288466
上一篇:从 0 到 1 通过 Flink + Tablestore 进行大数据处理与分析


下一篇:Spark RDD概念学习系列之Spark的算子的作用(十四)