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