本文為您介紹如何使用Data Transmission Service的建立反向任務功能,實現資料庫容災情境下的資料回傳。
前提條件
已建立儲存空間大於業務資料庫已使用的災備資料庫,建議災備資料比業務資料大10%。
已在業務資料庫和災備資料庫中建立用於資料同步的帳號。許可權要求,請參見RDS MySQL執行個體間的單向同步或RDS SQL Server間的同步。
重要災備資料庫的帳號需要具備額外的許可權:
SQL Server間的同步執行個體:目標庫帳號需具備sysadmin許可權,您可以使用超級許可權帳號通過
EXEC sp_addsrvrolemember @loginame = N'<帳號名>', @rolename = N'sysadmin';
命令進行授權。MySQL間的同步執行個體:目標庫帳號還需具備REPLICATION CLIENT、REPLICATION SLAVE、SHOW VIEW和SELECT許可權。授權方法,請參見MySQL官方說明文檔。
注意事項
僅SQL Server資料庫間或MySQL資料庫間的同步執行個體支援建立反向執行個體,且該反向執行個體的同步類型只勾選了增量同步處理。
建立反向執行個體前直接寫入到原同步執行個體目標庫的資料,不會被同步。
反向執行個體建立成功後會立即進行預檢查,預檢查通過後會進行增量資料擷取,增量資料寫入模組不會運行。
每個同步執行個體僅支援建立一個對應的反向執行個體,且當反向執行個體啟動後,原執行個體將無法直接啟動。
不支援為跨國家和跨境的同步執行個體建立反向執行個體。
請確保待同步的表具備主鍵或唯一約束,並且欄位具有唯一性,否則可能會導致部分資料重複。
請根據業務資料庫出現異常後的預估恢復,合理設定資料庫Binlog的儲存時間。
若原執行個體為Serverless執行個體,則建立的反向執行個體的計費方式將為隨用隨付,且規格為micro;若原執行個體的計費方式為訂用帳戶或隨用隨付,則建立的反向執行個體的計費方式和規格預設與原執行個體相同。
若原執行個體為跨地區的同步執行個體,則需要將同步工作清單的地區切換為正向執行個體源庫對應的地區,才可以看到建立的反向執行個體。
建立的反向執行個體暫停期間也會收取相應的費用。
在業務資料庫出現異常無法串連的情況下,DTS執行個體的運行狀態為重試中屬於正常現象。
操作步驟
根據業務需求,建立業務資料庫到災備資料庫的正向同步執行個體。
請合理選擇執行個體的規格,並根據業務資料庫出現異常後的預估恢復,設定源庫、目標庫無法串連後的重試時間。正向同步執行個體的建立方法,請參見RDS MySQL執行個體間的單向同步或RDS SQL Server間的同步。
等待正向同步執行個體的運行狀態處於運行中,建立反向執行個體。
在同步任務列表找到建立的正向同步執行個體。
在目標執行個體右側,選擇
。在彈出的提示對話方塊,單擊確定。
等待反向執行個體預檢查完成,運行狀態處於同步初始化中。
說明若您未開啟自動重新整理功能,則需要手動單擊操作上方的按鈕,以重新整理同步執行個體的運行狀態。
若預檢查失敗,請單擊查看原因,然後單擊預檢查失敗項後查看詳情,根據提示修複後重新進行預檢查。
反向執行個體建立好後,暫無需操作。
當業務資料庫出現異常無法串連時,執行如下操作來恢複您的業務。
暫停原執行個體。
在同步任務列表頁面,找到原執行個體。
在目標執行個體右側,選擇
。在彈出的提示對話方塊,單擊確定。
在彈出的暫停任務成功對話方塊,單擊確定。
將業務切換至災備資料庫。
啟動反向執行個體。
在同步任務列表頁面,單擊產生的反向執行個體ID。
(可選)在左側導覽列,單擊任務管理。
在執行個體進展地區,單擊增量寫入模組。
在基本資料頁簽,單擊操作右側的啟動增量寫入。
在彈出的提示對話方塊,單擊確定。
當業務資料庫恢複後,執行如下操作切換業務資料庫並恢複同步執行個體。
將業務切換回原來的業務資料庫。
等待反向執行個體無延遲後,暫停反向執行個體。
反向執行個體會將業務直接寫入災備資料庫的資料同步到原業務資料庫。
等待反向執行個體暫停成功後,啟動原來的正向同步執行個體。