ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 主库resetlogs对备库的影响

主库resetlogs对备库的影响

原创 Linux操作系统 作者:myownstars 时间:2012-03-13 15:57:09 0 删除 编辑

假设主库SCN100,现在需要闪回到80open resetlogsSCN0开始并生成了一个新的redo branch

备库的SCN>=80,则只能进行闪回或者重建;

备库SCN<80且已经识别到新的redo branch,则备库可以自动应用新的redo branch,不需人工干预

 

主库进行不完全恢复,执行open resetlogs,备库大致有以下几种情形

物理备库

1

查看主库resetlogs时的SCN值,同备库current_scn进行比较

SELECT TO_CHAR(RESETLOGS_CHANGE# - 2) FROM V$DATABASE--主库

SELECT TO_CHAR(CURRENT_SCN) FROM V$DATABASE;--备库

2

如果current_scn > RESETLOGS_CHANGE# - 2,则闪回备库

FLASHBACK STANDBY DATABASE TO SCN resetlogs_change# -2;

3

如果current_scn < RESETLOGS_CHANGE# - 2,则开启备库实时应用

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;

4

如果current_scn远远落后于RESETLOGS_CHANGE# - 2,新的redo branch已经注册到standby

则备库会自动处理不需人工干预

 

 

逻辑备库

sql apply侦测到主库的resetlogs操作,则会自动的运行新的redo branch;否则sql apply会报告ora-1346: LogMiner processed redo beyond specified reset log scn

1

比较备库的scn和主库resetlogs scn

SELECT TO_CHAR(RESETLOGS_CHANGE# - 2) AS FLASHBACK_SCN FROM V$DATABASE;--主库resetlogs SCN
SELECT DBMS_LOGSTDBY.MAP_PRIMARY_SCN (PRIMARY_SCN => FLASHBACK_SCN) AS TARGET_SCN FROM DUAL;--对应的备库SCN

 

2

闪回备库

SQL> SHUTDOWN;
SQL> STARTUP MOUNT EXCLUSIVE;
SQL> FLASHBACK DATABASE TO SCN ;
SQL> ALTER DATABASE OPEN RESETLOGS;
 
3
确认新的redo branch已被备库接受注册
SELECT resetlogs_id FROM V$DATABASE_INCARNATION WHERE status = 'CURRENT';--主库
SELECT * FROM DBA_LOGSTDBY_LOG WHERE resetlogs_id = resetlogs_id_at_primary;--备库,如果返回数据,证明已经注册到备库
然后重启sql apply
ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;
 
 

 

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

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

注册时间:2010-03-18

  • 博文量
    375
  • 访问量
    3053248