Standby 归档丢失

 

ORACLE 版本:

SQL> select * from v$version;

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

PL/SQL Release 11.2.0.3.0 - Production

CORE    11.2.0.3.0      Production

TNS for Linux: Version 11.2.0.3.0 - Production

NLSRTL Version 11.2.0.3.0 - Production


 

standby的状态为read only ,但还没有启动redo应用。

SQL> select open_mode from v$database;

OPEN_MODE

--------------------

READ ONLY


 

standby已经接受到352号归档文件。

SQL> select max(sequence#)  from v$archived_log;

MAX(SEQUENCE#)

--------------

           352


 

由于没有启动redo应用,目前只应用到329号。

SQL> select max(sequence#) from v$archived_log where applied='YES'; 

MAX(SEQUENCE#)

--------------

           329


 

在操作系统上手工删除345号归档文件

[oracle@oradev01 arch]$ rm 1_345_768482696.dbf


 

然后启动redo应用

SQL> alter database recover managed standby database disconnect from session;
Database altered.           


 

确认数据库已经启用redo应用

SQL>  select open_mode from v$database;

OPEN_MODE
--------------------
READ ONLY WITH APPLY


 

观察alert_[sid].log 发现当应用到345号归档的时候出现错误。这时standby会尝试从主库获取到被删除的归档文件。

由于primary库上还有345号归档存在。所以可以再次从primary获取345号归档文件。

Media Recovery Log /opt/ora11g/arch01/1_343_768482696.dbf

Media Recovery Log /opt/ora11g/arch01/1_344_768482696.dbf

Media Recovery Log /opt/ora11g/arch01/1_345_768482696.dbf

Error opening /opt/ora11g/arch01/1_345_768482696.dbf

Attempting refetch

Media Recovery Waiting for thread 1 sequence 345

Fetching gap sequence in thread 1, gap sequence 345-345

Mon Jan 30 09:55:24 2012

RFS[2]: Allowing overwrite of partial archivelog for thread 1 sequence 345

RFS[2]: Opened log for thread 1 sequence 345 dbid -1778976251 branch 768482696

Archived Log entry 135 added for thread 1 sequence 345 rlc 768482696 ID 0x960fc544 dest 2:

Mon Jan 30 09:55:34 2012

Media Recovery Log /opt/ora11g/arch01/1_345_768482696.dbf

Media Recovery Log /opt/ora11g/arch01/1_346_768482696.dbf

 

过一段时间,可以看到redo已经应用到352号归档日志。

SQL> select max(sequence#) from v$archived_log where applied='YES'; 
MAX(SEQUENCE#)
--------------

           352


 

如果主库的归档日志也被删除,但有归档日志备份,那么可以从备份中恢复指定的归档日志。

standby仍然可以自动接收到丢失的归档日志。

 

查看standby需要的归档日志,在主库是否有备份。如果返回下述信息,说明归档日志已经备份过。

RMAN> list backup of archivelog  from sequence 345;

List of Backup Sets

===================

BS Key  Size       Device Type Elapsed Time Completion Time

------- ---------- ----------- ------------ ---------------

69      125.85M    DISK        00:00:27     29-JAN-12     

        BP Key: 69   Status: AVAILABLE  Compressed: YES  Tag: TAG20120129T153643

        Piece Name: /opt/ora11g/backup/ORCLTESTORCLTEST7738546037127n205cb

 

  List of Archived Logs in backup set 69

  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time

  ---- ------- ---------- --------- ---------- ---------

  1    345     5896440    29-JAN-12 5900164    29-JAN-12

 

如果归档日志没有备份,则返回下述信息。

RMAN> list backup of archivelog  from sequence 3520;

specification does not match any backup in the repository 

 

从备份中恢复指定的单个归档文件:

RMAN> restore archivelog sequence 345 ;

 

从备份中恢复多个连续的归档文件:

RMAN> restore archivelog sequence  between 344 and 345;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值