oracle9204(9i)_linux_logical standby_switchover操作指南

wisdomone1發表於2010-02-27
解注:oracle9i 邏輯備庫在switchover時,無須查詢select switchover_status from v$database

開始switchover大練兵

1,原主庫
alter database commit to switchover to logical standby;

2,原主庫,推延原主庫到相關備庫的日誌傳輸喲
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=DEFER SCOPE=BOTH;

3,原邏輯備庫
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

4,這時,其實已經switchover了,哈哈;在新的主庫構建
  alter system set log_archive_dest_2='SERVICE=centos';---centos為新備庫的net service name
  同時,請檢查相關引數的配置,是否正確:主要是log_archive_dest(注:還有其他一些備庫喲)

5,在所有邏輯備庫(含:原主庫,現為新邏輯備庫)

  ---關閉guard配置,建立所有邏輯備庫到新主庫的資料庫連結,最後開啟guard配置

SQL> EXECUTE DBMS_LOGSTDBY.GUARD_BYPASS_ON;
SQL> CREATE DATABASE LINK second       --second為資料庫連結名
  2> CONNECT TO system IDENTIFIED BY system USING 'second';--第一二system分為使用者名稱及對應密碼,using其後所跟second為tnsnames中的net service name
SQL> EXECUTE DBMS_LOGSTDBY.GUARD_BYPASS_OFF;


6,驗證以上建立資料庫連結
select * from dba_logstdby_parameters@second;

7,開始sql apply
在新邏輯備庫
ALTER DATABASE START LOGICAL STANDBY APPLY NEW PRIMARY "second"; --請切記以雙引號""括在second上面,不然報錯,沒反應;此處second指:以上建立的新邏輯備庫到新主庫的資料庫連結名字

8,確保所有備庫開始接收重作日誌
alter system archive log start;
alter system switch logfile;



後記:發現以上操作完結後,新備庫並未接收重作日誌(從新備庫alert檢視分析,並對比了備庫的log_archive_dest_1歸檔資料變化情況)
      最始處理方法為:先在新備庫alter database stop logical standby apply;
                      然後alter database start logical standby apply;--再次start未加new  primary 選項喲,會在alert有所提示

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-628036/,如需轉載,請註明出處,否則將追究法律責任。

相關文章