一.原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
版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。