ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 非归档模式下非当前日志文件的丢失的恢复

非归档模式下非当前日志文件的丢失的恢复

原创 Linux操作系统 作者:wzhalal 时间:2013-06-28 14:37:05 0 删除 编辑
   简单总结一下日志文件丢失的几种恢复方法。大体可以分为2大类:
 非归档模式下的日志文件丢失和归档模式下的日志丢失。当然细分还可以分为:非当前联机日志文件的丢
失和当前联机日志文件的丢失。
      如果日志文件做了镜像的话,即使日志文件组里的一个成员坏了,也不会影响数据库的使用。这个
时候只需要删除损坏的日志成员,重新添加一个日志成员即可。这里主要介绍一日志文件组里的成员都丢
失的情况。
   首先介绍一下非归档模式下非当前日志文件的丢失的恢复。

   对于非归档模式的非当前联机日志文件的丢失恢复起来比较简单,只需要重新建立日志文件即可。
   
    
SQL> SELECT NAME,OPEN_MODE,LOG_MODE FROM V$DATABASE;
NAME      OPEN_MODE  LOG_MODE
--------- ---------- ------------
TOMSYAN   READ WRITE NOARCHIVELOG
 
数据库处于非归档模式。

SQL> SELECT GROUP#,SEQUENCE#,STATUS FROM V$LOG;
    GROUP#  SEQUENCE# STATUS
---------- ---------- ----------------
         1        106 CURRENT
         2        104 INACTIVE
         3        105 INACTIVE
当前的日志序组是GROUP 1
下面删除GROUP 3的日志组里的所有日志成员,模拟日志文件的丢失。
SQL> SELECT MEMBER FROM V$LOGFILE WHERE GROUP#=3;
MEMBER
--------------------------------------------------------------------------------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\TOMSYAN\REDO03.LOG
SQL> SHUTDOWN IMMEDIATE;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> HOST DEL C:\ORACLE\PRODUCT\10.2.0\ORADATA\TOMSYAN\REDO03.LOG
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: 无法打开日志组 3 (用于线程 1) 的成员
ORA-00312: 联机日志 3 线程 1:
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TOMSYAN\REDO03.LOG'
SQL> SELECT GROUP#,SEQUENCE#,STATUS FROM V$LOG;
    GROUP#  SEQUENCE# STATUS
---------- ---------- ----------------
         1        106 CURRENT
         3        105 INACTIVE
         2        104 INACTIVE
由于损坏的日志组不是当前日志组,这个时候只需要重新建日志文件即可,也不会对数据库造成任何影响。
 
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 3;
数据库已更改。
SQL> ALTER DATABASE OPEN;
数据库已更改。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28894640/viewspace-765039/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-06-06

  • 博文量
    60
  • 访问量
    250289