DG物理standby,Failover之后原primary重回DG
如果failover之前,主备都开了flashback,当原主库恢复正常后,则可通过以下步骤重回DG;
步骤1.在新主库上查询failover时的SCN
SQL> SELECT TO_CHAR(STANDBY_BECAME_PRIMARY_SCN) FROM V$DATABASE;
步骤2.在原主库上flashback 到failover时的scn
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> FLASHBACK DATABASE TO SCN standby_became_primary_scn;
SQL> ALTER DATABASE CONVERT TO PHYSICAL STANDBY;
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
步骤4.同步、应用日志
原主库:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
在原主库上flashback 到failover时的scn时报错的处理:
由于原主库没有开flashback,以至于flashback失败,然后通过recover database后
SQL> select checkpoint_change# from v$database;
CHECKPOINT_CHANGE#
------------------
20359173
SQL> flashback database to scn 20359173;
flashback database to scn 20359173
*
ERROR at line 1:
ORA-38729: Not enough flashback database log data to do FLASHBACK.
查询一下能闪回的最早scn,
SQL> select oldest_flashback_scn,
to_char(oldest_flashback_time,'YYYY-MM-DD HH24:MI:SS')
from v$flashback_database_log;
OLDEST_FLASHBACK_SCN TO_CHAR(OLDEST_FLAS
-------------------- -------------------
20382748 2014-03-05 15:24:16
这个明显是flashback开的太迟,没有足够的日志;为了能使数据库回到scn为20359173的点上,做一次不完全恢复;
Rman>run{
Startup force mount;
Set until scn=20359173; # SET UNTIL SCN ;
Restore database;
Recover database;
}
执行过程中仍然报错ORA-38729,查询了CHECKPOINT_CHANGE#仍是20382748,以为没有成功,然后又做了一次不完全恢复:
RMAN>shutdown immediate
RMAN>startup mount
RMAN>restore database until scn 20359173;
RMAN>recover database until scn 20359173;
查询了CHECKPOINT_CHANGE#仍是20382748,于是再一次做不完全恢复:
SQL>recover database until change 20359173;
Media recovery complete.
很快就完成了恢复;此时,尝试如下操作:
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
NOT ALLOWED
SQL> alter database open read only;
alter database open read only
*
ERROR at line 1:
ORA-16005: database requires recovery
最后直接执行主库转备库操作,顺利完成;
SQL> ALTER DATABASE CONVERT TO PHYSICAL STANDBY;
Database altered.
查询日志,新主库已经开始传日志文件,日志文件传完后启动备库的日志用也可以顺利进行,一直到实时同步;
通过以上的操作,可以推测不完全恢复应该是成功的推到了指定SCN处,只是查询SCN地方不对;现在猜测应该查询v$database的current_scn字段,有待日后考证;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16976507/viewspace-1266131/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/16976507/viewspace-1266131/
本文介绍在Oracle数据库中,当原主库变为物理备库后如何通过特定步骤使其恢复到正常状态的过程。包括查询SCN、Flashback数据库、转换为主备库状态等关键步骤。
1231

被折叠的 条评论
为什么被折叠?



