本文介紹如何使用修改同步對象功能,解決DTS同步執行個體運行過程中表報錯的問題。
前提條件
- 沒有業務讀取目標庫的資料,或業務可以短時間不讀取目標庫的資料。
- 源庫和目標庫處於正常啟動並執行狀態。
- 除報錯資訊中的表以外,同步執行個體有其他待同步的對象。
- 當前執行個體的運行狀態不能為修改同步對象中。
注意事項
- 修改同步對象會自動重啟執行個體,在執行個體重啟期間可能會導致源庫與目標庫資料不一致。
- 本方法需要清空目標表的資料。在您執行本方法的操作前:
- 請確保目標表中只有DTS在寫入資料,或目標表中的資料可以被清空。
- 請確保與目標表關聯的業務不會被影響。
實現流程
- 移除同步執行個體報錯資訊中的表或熱點表。
- 清空目標庫中報錯資訊表的資料。
- 重新添加報錯資訊中的表到同步執行個體中。
操作步驟
進入同步任務的列表頁面。
在頂部功能表列中,單擊整合與開發(DTS)。
在左側導覽列,選擇 。
說明實際操作可能會因DMS的模式和布局不同,而有所差異。更多資訊,請參見極簡模式和自訂DMS介面布局與樣式。
您也可以登入新版DTS同步工作清單頁面。
在同步任務右側,選擇同步執行個體所屬地區。
說明新版DTS同步工作清單頁面,需要在頁面左上方選擇同步執行個體所屬地區。
- 根據實際情況,移除報錯的表或熱點表。說明 查看熱點表的方法,請參見查看熱點表資訊。
- 若該表所屬的同步對象的粒度為整庫:
- 在同步工作清單找到目標同步執行個體,並單擊操作列的修改同步對象。
- 在已選擇對象中勾選報錯表所在的庫,並單擊
移除該庫。
- 在源庫對象中以表為粒度勾選待同步的對象(不含報錯的表),並單擊
重新添加至已選擇對象。
說明 更多資訊,請參見移除同步對象。 - 依次單擊下一步進階配置和下一步預檢查並啟動。
- 等待預檢查通過率顯示為100%時,單擊修改成功,返回列表。
- 在同步工作清單找到目標同步執行個體,並單擊操作列的修改同步對象。
- 若該表所屬的同步對象的粒度為表:
- 在同步工作清單找到目標同步執行個體,並單擊操作列的修改同步對象。
- 在已選擇對象中勾選報錯的表,並單擊
移除該表。
- 依次單擊下一步進階配置和下一步預檢查並啟動。
- 等待預檢查通過率顯示為100%時,單擊修改成功,返回列表。
- 在同步工作清單找到目標同步執行個體,並單擊操作列的修改同步對象。
- 若該表所屬的同步對象的粒度為整庫:
- 清空目標庫中報錯表的資料。例如MySQL資料庫,可以使用如下命令清空資料:
TRUNCATE TABLE XXX; DROP TABLE XXX;
- 重新將報錯的表添加為待同步的對象。
- 在同步工作清單找到目標同步執行個體,並單擊操作列的修改同步對象。
- 在源庫對象中勾選報錯的表,並單擊
重新添加至已選擇對象。
說明 更多資訊,請參見新增同步對象。 - 依次單擊下一步進階配置和下一步預檢查並啟動。
- 等待預檢查通過率顯示為100%時,單擊修改成功,返回列表。
- 在同步工作清單找到目標同步執行個體,並單擊操作列的修改同步對象。
- 等待執行個體自動重啟後,查看是否還報錯。