1.flush主庫任何未傳輸的redo到目標備庫
如果primary可以mount,則可以flush任何主庫的未傳輸redo到備庫,如果操作成功返回,則可以保證failover的零資料丟失。
1)確保standby資料庫啟用日誌應用
2)mount primary資料庫,執行以下sql語句,命令等待standby應用redo完成後返回。
sql> alter system flush redo to target_db_unique_name;
如果成功返回,則轉第5步,如果返回錯誤或者使用者不能等待其耗費的時長,則轉第2步。
2.確認standby應用了primary每個執行緒的最新歸檔
standby:
sql> select unique thread# as thread, max(sequence#) over (partition by thread#) as last from v$archived_log;
如果standby沒有應用priamry的最新歸檔,手工傳輸primary歸檔檔案到standby並註冊:
sql> alter database register physical logfile 'filespec1';
3.查詢並解決gap
standby:
sql> select thread#, low_sequence#, high_sequence# from v$archive_gap;
如果有gap, 手工傳輸gap到standby並註冊:
sql> alter database register physical logfile 'filespec1';
4.重複第3步,直到解決所有的gap
直到查詢返回為空,則說明當前已可能沒有gap(v$archive_gap存在一些已知的bug)。
5.停止redo應用
sql> recover managed standby database cancel;
6.完成應用所有接受到的redo資料
sql> recover managed standby database finish;
如果命令成功返回,轉第7步,如果命令返回錯誤,說明一些redo資料不能應用,排查錯誤並再次執行該sql語句。
如果錯誤不能解決,執行以下sql啟用物理備庫,可能會丟失資料,執行以下sql後,轉第9步:
sql> alter database activate physical standby database;
7.確認物理standby可以轉換為primary
sql> select switchover_status from v$database;
sql查詢結果為to primary
或sessions active
,則表示standby可以轉換為primary角色,否則需要檢查日誌應用是否仍處於啟用狀態,確保該值為to primary
或sessions active
。
8.切換物理standby為primary角色
sql> alter database commit to switchover to primary with session shutdown;
如果switchover_status為session active,則需要加上with session shutdown子句。
9.開啟新的primary資料庫
sql> alter database open;
10.清除dg相關引數
11.立即備份新的primary資料庫
12.dg環境中如果存在的其他物理備庫,重啟其已停止的日誌應用
sql> recover managed standby database using current logfile disconnect;
13.還原失敗的primary資料庫
mysql 詳細安裝步驟
完成上述步驟之後,很多人開始使用mysql,但這時還沒有配置環境變數。配置環境變數很簡單 我的電腦 屬性 高階 環境變數 選擇path,在其後面新增 你的mysql bin資料夾的路徑 如 c program files mysql mysql server 5.6 bin 即是 path c pr...
CocoaPods詳細使用步驟
開發ios專案不可避免地要使用第三方框架,cocoapods是乙個負責管理ios專案中第三方框架的工具。cocoapods可以幫助我們快速有效的安裝和更新和刪除第三方框架。cocoapods幫助我們把需要整合的第三方框架從github安裝到專案中。在安裝cocoapods前,首先需要安裝ruby環境...
U Boot uboot裁剪詳細步驟
在進行uboot裁剪前,我們需要準備對應板卡的uboot原始碼,uboot交叉編譯工具,uboot編譯說明文件和uboot映象燒錄文件。建議在進行uboot裁剪前,先確認原先的uboot編譯生成的映象能在板卡上正常執行。uboot主要是通過對應板卡配置檔案中巨集的新增和刪除來實現裁剪。所以首先需要找...