Oracle 11g DataGuard物理standby配置2

主從切換

分爲2種切換:
 
Switchover:
   無損切換,一般是用戶手動觸發或者有計劃的讓其自動觸發,不會致使數據丟失
 
Failover:
  不可預知的緣由致使Primary數據庫故障而且短時間內不能恢復就須要failover,可能會導
  致數據的丟失.
  在執行failover以前,儘量將原Primary數據庫的可用redo都複製到standby數據庫.
  若是要轉換角色的standby處於maximum protection模式,須要你首先將其切換到
  Maximum Performance模式,操做以下:
  SQL> ALTER DATABASE SET STANDBY DATABASE MAXIMUM
       PERFORMANCE;
 
Switchover切換步驟
 
  primary數據庫檢查是否支持switchover操做
 
  SQL> select switchover_status from v$database;
  SWITCHOVER_STATUS
  -----------------
  TO  STANDBY
 
  若是該列值爲」TO STANDBY」則表示primary數據庫支持轉換爲STANDBY角色
  注意:若是是第一次作Switchover的話,這裏應該是SESSIONS ACTIVE狀態,不用理會他, 繼續下面的操做.
 
  primary數據庫啓動switchover
 
  先把primary轉換爲standby的角色
  SQL> alter database commit to switchover to physical standby;
 
  primary數據庫重啓動到mount
 
  SQL> shutdown immediate;
  SQL> startup mount;
 
  STANDBY數據庫上檢查是否支持switchover操做
 
  SQL> select switchover_status from v$database;
  SWITCHOVER_STATUS
  -----------------
  TO PRIMARY
 
  值爲」TO PRIMARY」,說明支持轉換.
  注意:第一次轉換這裏可能爲 not allow,不用理會,繼續下面的操做.
 
  STANDBY數據庫轉換角色到Primary
 
  SQL> alter database commit to switchover to primary;
  SQL> alter database open;  //若是處於read-only狀態,須要先
                               shutdownstartup;
 
 驗證數據是否能夠同步,按照之前的測試方法進行測試
 
在新的primary數據庫上執行
 
SQL> insert into wiliiwin values(4,’wiliansi’);
 
而後在新的STANDBY數據庫上執行
 
SQL> select * from wiliiwin;
 
Failover切換
 
 檢查歸檔文件是否連續
 
 STANDBY數據庫上查詢V$ARCHIVE_GAP視圖,看歸檔文件是否連續
 
 SQL> SELECT THREAD#,LOW_SEQUENCE#,HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
 
 若是返回的有記錄,按照列出的記錄號複製對應的歸檔文件到待轉換的STANDBY服務器.
 必須確保全部已生成的歸檔文件均已存在於STANDBY服務器,否則可能會數據不一致形成
 轉換時的報錯.文件複製以後,將其加入數據字典
 
  SQL> ALTER DATABASE REGISTER PHYSICAL LOGFILE ‘filespecl;
 
  檢查歸檔文件是否完整
  
  SQL> select distinct thread#,max(sequence#)over(partition by thread#) a from
       v$archived_log;
 
  取得當前數據庫各線程已歸檔文件最大序列,若是primarystandby最大序號不相同, 必須將多出的序號對應到歸檔文件複製到待轉換的STANDBY服務器.要是primary徹底不 可用了,此時可能會丟失一些數據.
 
  啓動failover
 
  SQL> alter database recover managed standby database finish force;
 
  切換物理STANDBY角色到primary
 
  SQL> alter database commit to switchover to primar;
 
   啓動新的primary數據庫
 
  SQL> alter database  open;
 
  關於測試你們本身試驗下,能夠查詢、插入、刪除等操做應該就說明切換正常了.
相關文章
相關標籤/搜索