全部產品
Search
文件中心

Data Transmission Service:業務切換流程

更新時間:Sep 24, 2024

當您的DTS執行個體成功將資料同步或遷移至目標庫後,您可以參考本文進行業務切換,以最大程度地減少資料同步或遷移對業務的影響。本文以遷移執行個體為例,為您介紹業務切換的相關步驟。

前提條件

已配置資料移轉執行個體,且資料移轉執行個體處於運行中已完成狀態。配置方法,請參見遷移方案概覽

方案概覽

  1. 暫停源庫的業務寫入。

    為避免資料丟失,需要暫時中斷業務,禁止新的資料寫入源庫。

  2. 暫停遷移執行個體。

    源庫的資料寫入到目標庫後,暫停遷移執行個體。

  3. 建立反向資料移轉執行個體並啟動。

    將目標庫產生的增量資料即時移轉回源庫,為業務提供回退方案。在業務切換後,如果業務運行出現異常,可將業務切換回源庫中。

  4. 切換業務。

    切換業務寫入的資料庫,並恢複業務。

注意事項

  • 由於執行業務切換操作需要停止資料庫寫入並暫停業務,請選擇業務低峰期操作以降低影響。

  • 為便於區分會話資訊以及提升資料安全性,建議單獨建立並授權一個資料庫帳號以供資料移轉使用。

  • 執行業務切換操作需要暫停遷移執行個體,暫停超過7天的執行個體將無法恢複運行。

  • 對於不再使用的訂用帳戶執行個體(尤其是已開啟自動續約的訂用帳戶執行個體),請務必手動取消自動續約或釋放執行個體,以免產生額外的費用。具體操作,請參見自動續約的修改、取消等操作釋放DTS執行個體

操作步驟

業務切換

  1. 等待資料移轉執行個體進入增量遷移階段,且運行階段資訊列的延遲時間小於5秒。

    說明

    若遷移執行個體沒有增量遷移階段(即在配置執行個體時遷移類型未勾選增量遷移),則資料移轉完成後執行個體會自動結束任務,請等待執行個體的運行狀態變為已完成

  2. 將業務暫時中斷,禁止在源庫中寫入新資料。

  3. 登入源庫查看會話資訊,確保沒有新的會話執行寫入操作。

    常見資料庫查看會話資訊的命令如下所示:

    MySQL

    show processlist;

    SQL Server

    select * from sys.dm_exec_connections;

    Oracle

    select sid,serial#,username,program,machine,status from v$session;

    PostgreSQL

    select * from pg_stat_activity;

    Redis

    CLIENT LIST

    MongoDB

    use admin
    db.runCommand({currentOp: 1, $all:[{"active" : true}]})
    說明

    上述語句查詢到的進程或會話資訊中,包含DTS串連源庫的進程或會話。

  4. 暫停遷移執行個體。

    警告

    在遷移執行個體暫停期間,請勿隨意啟動執行個體,否則可能會導致資料不一致。

    1. 等待遷移執行個體的延遲為0毫秒。

      此時,源庫中待遷移的資料已成功遷移至目標庫。

    2. 繼續等待1~3分鐘。

      在此期間,執行個體的延遲可能會在2秒以內波動。

    3. 在目標執行個體的操作列,選擇更多設定 > 暫停任務

    4. 在彈出的提醒對話方塊中,單擊確定

    5. 等待執行個體的運行狀態變為已暫停

  5. 建立反向資料移轉執行個體。

    1. 保持業務中斷狀態。

    2. 取消源庫禁止寫入的限制。

    3. 建立反向資料移轉執行個體並啟動。

      重要
      • 在配置執行個體時,遷移類型僅勾選增量遷移

      • 建立方法,請參見遷移方案概覽

    4. 等待執行個體的運行狀態變為運行中

  6. 切換業務。

    1. 將業務切換為目標庫。

    2. 恢複業務資料寫入。

    3. 測試業務功能。

回退方案

說明

在業務切換失敗等異常情況下,您可以參考該方案恢複業務。

  1. 將業務暫時中斷,禁止在資料庫中寫入新資料。

  2. 將業務切換回源庫。

  3. 恢複業務資料寫入。

後續操作

業務切換至目標庫並穩定運行一段時間,測試所有業務涉及的功能並確認無問題,可結束反向資料移轉執行個體。更多資訊,請參見結束DTS執行個體

警告

用於資料移轉的資料庫帳號擁有讀寫權限,為保障資料庫安全性,請在資料移轉完成後,刪除用於資料移轉的資料庫帳號或回收該帳號的寫入權限。

常見問題

  • Q:業務切換後,原來的遷移執行個體如何處理?

    A:您可以根據實際需求,結束或釋放該執行個體。更多資訊,請參見結束DTS執行個體釋放DTS執行個體

  • Q:業務切換後,由於誤操作導致在源庫中寫入了新的資料,應該如何處理?

    A:通過資料校正確認源和目標庫的差異資料,進行手動訂正。