Database altered. S
SQL> SELECT SWITCHOVER_sTATUS FROM V$DATABASE;
SWITCHOVER_STATUS -------------------- TO PRIMARY
SQL> SELECT DATABASE_ROLE FROM V$DATABASE;
DATABASE_ROLE ----------------
PHYSICAL STANDBY
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
Database altered.
SQL> SELECT PROCESS,STATUS FROM V$MANAGED_STANDBY;
PROCESS STATUS --------- ------------
ARCH CONNECTED ARCH CONNECTED ARCH CONNECTED ARCH CONNECTED MRP0 WAIT_FOR_LOG
此处无RFS进程,是因为没发现主库,等主库切换回就可以看见
原主库切换
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE; SWITCHOVER_STATUS -------------------- SWITCHOVER LATENT SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY; ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY * ERROR at line 1: ORA-16139: media recovery required 做实验时关闭数据库时忘记开启redo应用服务,进行开启
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION; SQL> SELECT PROCESS,STATUS FROM V$MANAGED_STANDBY;
PROCESS STATUS --------- ------------
ARCH CLOSING ARCH CLOSING ARCH CONNECTED ARCH CLOSING
MRP0 APPLYING_LOG
SQL> SELECT PROCESS,STATUS FROM V$MANAGED_STANDBY;
PROCESS STATUS --------- ------------
ARCH CLOSING ARCH CLOSING ARCH CONNECTED ARCH CLOSING
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS -------------------- TO PRIMARY
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
Database altered.
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS -------------------- NOT ALLOWED
SQL> SHUTDOWN IMMEDIATE ORA-01109: database not open
Database dismounted.
ORACLE instance shut down. SQL> STARTUP
ORACLE instance started.
Total System Global Area 372449280 bytes Fixed Size 1336624 bytes Variable Size 322964176 bytes Database Buffers 41943040 bytes Redo Buffers 6205440 bytes Database mounted. Database opened.
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS -------------------- TO STANDBY
SQL> SELECT DATABASE_ROLE FROM V$DATABASE;
DATABASE_ROLE ---------------- PRIMARY
此时再查看备库进程状态发现RFS进程
SQL> SELECT PROCESS,STATUS FROM V$MANAGED_STANDBY;
PROCESS STATUS --------- ------------
ARCH CLOSING ARCH CONNECTED ARCH CLOSING ARCH CONNECTED MRP0 WAIT_FOR_LOG RFS IDLE RFS IDLE RFS IDLE
8 rows selected.
FAILOVER
主库down机,激活备库,当备库被激活成主库后,原主库将不在是DG环境中一员
1.检查备库是否存在gap
SQL> SELECT THREAD#,LOW_SEQUENCE#,HIGH_SEQUENCE# FROM V$ARCHIVE_GAP; no rows selected
如果有gap,则从主库中copy相应的归档序列到备库,然后进行注册文件 SQL> ALTER DATABASE REGISTER PHYSICAL '/u01/app/oracle/archive/1_123_818430688.arc';
LOGFILE
2.查看归档日志传输是否完整
SELECT SEQUENCE#,FIRST_TIME,NEXT_TIME,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#; OR
SELECT UNIQUE THREAD#, MAX(SEQUENCE#) OVER(PARTITION BY THREAD#) LAST FROM V$ARCHIVED_LOG;
3.取消MRP进程
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
4.启动failover
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE;
Database altered.
Force参数表示停止RFS进程,进行立即failover
5.切换成主库
SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;
SWITCHOVER_STATUS -------------------- SESSIONS ACTIVE
SQL> SELECT DATABASE_ROLE FROM V$DATABASE;
DATABASE_ROLE ----------------
PHYSICAL STANDBY
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

