签到成功

知道了

CNDBA社区CNDBA社区

DG Failover之后原主库恢复成standby重建加入DG

2016-09-02 10:53 3819 0 原创 Oracle 11G
作者: Expect-乐

一.DG主备库需开启flashback database
1.查看是否开启flashback
主:
http://www.cndba.cn/Expect-le/article/122

SQL> select flashback_on from v$database
 LASHBACK_ON
 - -----------------
 NO


备:

SQL> select flashback_on from v$database;
 LASHBACK_ON
 ------------------
 NO


没有开启!

2.开启flashback(,)

SQL> shutdown immediate
SQL> Startup mount
SQL> Alter database flashback on
SQL> Alter database open


http://www.cndba.cn/Expect-le/article/122

二.Failover DG

原备库成为主库,原主库脱离DG。成为两个单实例。

1.备库的failover
SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount

ORACLE instance started.

 

Total System Global Area  709836800 byteshttp://www.cndba.cn/Expect-le/article/122

Fixed Size     2256632 bytes

Variable Size   486539528 bytes

Database Buffers   218103808 byteshttp://www.cndba.cn/Expect-le/article/122

Redo Buffers     2936832 bytes

Database mounted.

SQL> alter system flush redo to 'zds_s';

 

System altered.

2.failover操作

这里省略了failover的操作步骤。

步骤:

alter system flush redo to
alter database recover managed standby database finish force;
alter database commit to switchover to primary with session shutdown;
alter database open;


[root@dg-s opt]# python zx.py dgfo_st zds
 
TRUE|1



检查源备库:

SQL> select name,log_mode ,open_mode ,database_role ,protection_mode ,switchover_status from v$database;
NAME   LOG_MODE     OPEN_MODE     DATABASE_ROLE    PROTECTION_MODE   SWITCHOVER_STATUS
--------- ------------ -------------------- ---------------- -------------------- --------------------
ZDS   ARCHIVELOG   READ WRITE     PRIMARY      MAXIMUM PERFORMANCE  FAILED DESTINATION
 
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE


 

Failover成功!http://www.cndba.cn/Expect-le/article/122

 http://www.cndba.cn/Expect-le/article/122

2.恢复原主库成备库。

---新主库查看scnhttp://www.cndba.cn/Expect-le/article/122

http://www.cndba.cn/Expect-le/article/122

SQL> SELECT TO_CHAR(STANDBY_BECAME_PRIMARY_SCN) FROM V$DATABASE;
 
TO_CHAR(STANDBY_BECAME_PRIMARY_SCN)
----------------------------------------
1269588



---旧主库

SQL> shutdown immediate
SQL> startup mount;
ORACLE instance started.
 
Total System Global Area  709836800 bytes
Fixed Size     2256632 bytes
Variable Size   486539528 bytes
Database Buffers   218103808 bytes
Redo Buffers     2936832 bytes
Database mounted.


---闪回到上面查出scn

SQL> flashback database to scn 1269588;
 
Flashback complete.


----切换到PHYSICAL STANDBY

SQL> ALTER DATABASE CONVERT TO PHYSICAL STANDBY;
Database altered.
 
SQL> SHUTDOWN IMMEDIATE;
ORA-01507: database not mounted
 
 
ORACLE instance shut down.
SQL> startup;
ORACLE instance started.
 
Total System Global Area  709836800 bytes
Fixed Size     2256632 bytes
Variable Size   486539528 bytes
Database Buffers   218103808 bytes
Redo Buffers     2936832 bytes
Database mounted.
Database opened.


---启动MRPhttp://www.cndba.cn/Expect-le/article/122

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
Database altered.
 
SQL>


查看进程

SQL> select process,status from v$managed_standby;
PROCESS   STATUS
--------- ------------
ARCH   CONNECTED
ARCH   CONNECTED
ARCH   CONNECTED
ARCH   CLOSING
RFS   IDLE
RFS   IDLE
RFS   IDLE
MRP0   APPLYING_LOG
 
8 rows selected.


至此,原主库已经恢复成备库



 

三.检查新加入DG的状态

 

SQL> select name,log_mode ,open_mode ,database_role ,protection_mode ,switchover_status from v$database;
 
NAME   LOG_MODE     OPEN_MODE     DATABASE_ROLE    PROTECTION_MODE   SWITCHOVER_STATUS
--------- ------------ -------------------- ---------------- -------------------- --------------------
ZDS   ARCHIVELOG   READ WRITE     PRIMARY      MAXIMUM PERFORMANCE  TO STANDBY
 
SQL> select DEST_NAME,STATUS,PROCESS,ERROR,TRANSMIT_MODE from v$archive_dest WHERE TARGET='STANDBY';
 
DEST_NAME        STATUS  PROCESS    ERROR    TRANSMIT_MOD
------------------------------ --------- ---------- ------------------------------ ------------
LOG_ARCHIVE_DEST_2        VALID  LGWR    ASYNCHRONOUS


 

新主库:

SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
    48
 
SQL> alter system switch logfile;
System altered.
 
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
    49


http://www.cndba.cn/Expect-le/article/122

新备库:

SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
    48
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
    49



版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
Expect-乐

Expect-乐

关注

Without the continuous bitter cold, there can be no fragrant plum blossom

  • 336
    原创
  • 6
    翻译
  • 100
    转载
  • 41
    评论
  • 访问:1567133次
  • 积分:1957
  • 等级:核心会员
  • 排名:第4名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ