一.原DG主备库需开启flashback database1.查看是否开启flashback主:
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
二.Failover DGhttps://www.cndba.cn/Expect-le/article/122
原备库成为主库,原主库脱离DG。成为两个单实例。
1.备库的failoverSQL> shutdown immediate
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 709836800 byteshttps://www.cndba.cn/Expect-le/article/122
Fixed Size 2256632 bytes
Variable Size 486539528 bytes
Database Buffers 218103808 bytes
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;
https://www.cndba.cn/Expect-le/article/122
[[email protected] 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
https://www.cndba.cn/Expect-le/article/122
2.恢复原主库成备库。
---新主库查看scn
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 STANDBYhttps://www.cndba.cn/Expect-le/article/122
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.
---启动MRP
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
新备库:
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
48
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
49
版权声明:本文为博主原创文章,未经博主允许不得转载。