ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 归档模式下的日志文件丢失的解决方法

归档模式下的日志文件丢失的解决方法

原创 Linux操作系统 作者:wzhalal 时间:2013-06-28 14:40:13 0 删除 编辑
前面介绍了非归档模式下日志文件丢失的解决方法。

下面几篇文章介绍归档模式下的日志文件丢失的解决方法。
本篇介绍归档模式下非当前联机日志文件丢失的解决方法。
如果日志文件已经归档,这种情况下恢复日志文件和非归档模式下没什么差别,只需要重建日志文件即可。
如果日志文件还没有归档,这种情况下重建日志文件要带有UNARCHIVED关键字。注意这种情况下会造成归档的断点,需要做一次全备。

SQL> SELECT NAME,OPEN_MODE,LOG_MODE FROM V$DATABASE;
NAME      OPEN_MODE  LOG_MODE
--------- ---------- ------------
TOMSYAN   READ WRITE ARCHIVELOG

SQL> SELECT GROUP#,SEQUENCE#,STATUS,ARCHIVED FROM V$LOG;
    GROUP#  SEQUENCE# STATUS           ARC
---------- ---------- ---------------- ---
         1          2 INACTIVE         YES
         2          3 INACTIVE         YES
         3          4 CURRENT          NO
SQL> SELECT MEMBER FROM V$LOGFILE WHERE GROUP#=1;
MEMBER
--------------------------------------------------------------------------------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\TOMSYAN\REDO01.LOG
SQL> SHUTDOWN IMMEDIATE
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> HOST DEL C:\ORACLE\PRODUCT\10.2.0\ORADATA\TOMSYAN\REDO01.LOG
SQL> STARTUP
ORACLE 例程已经启动。
Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             247466884 bytes
Database Buffers          356515840 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
ORA-00313: 无法打开日志组 1 (用于线程 1) 的成员
ORA-00312: 联机日志 1 线程 1:
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TOMSYAN\REDO01.LOG'

SQL> SELECT GROUP#,SEQUENCE#,STATUS,ARCHIVED FROM V$LOG;
    GROUP#  SEQUENCE# STATUS           ARC
---------- ---------- ---------------- ---
         1          2 INACTIVE         YES
         3          4 CURRENT          NO
         2          3 INACTIVE         YES
 
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 1;
 
数据库已更改。
 
如果此处的日志组1还没有归档,要用下面的语句重建日志文件
 
ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 1;
 
这种情况下,别忘了做一次全备。
 
SQL> ALTER DATABASE OPEN;
数据库已更改。

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

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

注册时间:2013-06-06

  • 博文量
    60
  • 访问量
    249505