2014年8月3日 星期日

[ORACLE] Data Guard 10g(11g也適用) Step by Step on Windows Server 2008 R2 x64 (五)

--自主要資料庫(LOCALDB)切換至異地Data Guard資料庫(DGDR),切換前確認事項
--在主要資料庫(LOCALDB)
SQL> select switchover_status from v$database;
--SWITCHOVER_STATUS 狀態須為SESSION ACTIVE或TO STANDBY
--在備援資料庫(DGDR)
SQL> SELECT sequence#, first_time, next_time, applied FROM v$archived_log ORDERBY sequence#;
--APPLIED需皆為YES,否則代表有資料遺失的問題
  SEQUENCE# FIRST_TIME                 NEXT_TIME                  APPLIED
 ---------- -------------------------- -------------------------- ---------
         18 31-JUL-2014 10:02:36       31-JUL-2014 10:14:27       YES
         19 31-JUL-2014 10:14:27       31-JUL-2014 10:18:25       YES
         20 31-JUL-2014 10:18:25       31-JUL-2014 10:40:37       YES
         21 31-JUL-2014 10:40:37       31-JUL-2014 10:56:01       YES
        
--切換程序
--在主要資料庫(LOCALDB),將主要資料庫(LOCALDB)轉變為可切換狀態
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;
--在異地資料庫(DGDR),將異地資料庫(DGDR)轉為主要資料庫
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
--在原主要資料庫(LOCALDB)
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP NOMOUNT;
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_3=DEFER SCOPE=BOTH;
--在原異地異地資料庫(DGDR)
SQL> RECOVER MANAGED STANDBY DATABASE CANCEL;
 --P.S. 此動作會報錯,原因是ORACLE會自動做掉
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP;
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_3=ENABLE SCOPE=BOTH;
SQL> ALTER SYSTEM SWITCH LOGFILE;
 --P.S. 檢查archive log是否自動傳輸
--在原主要資料庫(LOCALDB)
SQL> RECOVER MANAGED STANDBY DATABASE DISCONNECT;
 --P.S. 清除原有的LOG訊息
--在原異地異地資料庫(DGDR)
SQL> ALTER SYSTEM SWITCH LOGFILE;
--在原主要資料庫(LOCALDB)
SQL> ARCHIVE LOG LIST;
--在本地Data Guard資料庫(DGLOCAL)
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE recover managed standby database disconnect from session;

第一篇 本地資料庫建置
第二篇 本地Data Guard建置
第三篇 異地Data Guard建置
第四篇 驗證DATA GUARD

沒有留言:

張貼留言