DRS支持直接同步不同schema的表到同一個schema嗎
DRS支持直接同步不同schema的表到同一個schema,表不可以沖突。
DRS實時同步支持使用Online DDL工具嗎
DRS MySQL到MySQL的表級增量同步支持使用Online DDL工具進行加減列的操作,需注意以下幾點:
因為DRS同步機制和工具的沖突,在同步任務的“設置同步”頁面,選擇對象同步范圍時,不能勾選“增量DDL”項。
使用Online DDL工具進行加列操作時,需先在目標庫執行,然后在源庫執行。
使用Online DDL工具進行減列操作時,需先在源庫執行,再在目標庫執行。
常見Online DDL工具:
pt-online-schema-change
gh-ost
源庫Oracle為RAC集群時,為什么建議使用SCAN IP連接
源庫Oracle為RAC集群時,建議使用SCAN IP+ SERVICE_NAMES方式創建任務,因為SCAN IP具有更強的容錯性,更好的負載能力,更快的同步體驗。
如果需要使用SCAN IP,需要保證SCAN IP與源庫的所有VIP互通,否則無法通過測試連接檢查。
若不使用SCAN IP,可以使用某一節點的VIP,其他節點異常不影響同步。
關于SCAN IP的說明,可參考。
源庫Oracle補全日志檢查方法
Oracle數據庫在Physical Standby模式下,日志會從主庫直接復制,而自身不產生任何日志。針對Oracle為源的增量同步鏈路,DRS需要用戶提前手動在主庫檢查補全日志是否符合要求,以保證任務的正常運行。以下檢查和設置方法中,
表級:針對指定表的設置。
庫級:指整個數據庫級別的設置。
PK/UI:每一行日志中除了記錄變更的列以外,還額外記錄了該行中主鍵和唯一鍵的值。
ALL:每一行日志中記錄了該行所有列的值。
以下三項檢查,滿足其中一項即可符合DRS增量同步的基本要求。
表級補全日志PK/UI檢查(最低要求)
針對用戶選擇的待同步的表級對象,檢查補全日志是否滿足要求。
步驟 1 在源庫中執行以下sql語句。
select * from ALL_LOG_GROUPS where (LOG_GROUP_TYPE='UNIQUE KEY LOGGING' or LOG_GROUP_TYPE='PRIMARY KEY LOGGING') and OWNER='大寫SCHEMA名' and TABLE_NAME='大寫表名';
該表名在查詢結果中能同時對應到LOG_GROUP_TYPE值為UNIQUE KEY LOGGING和PRIMARY KEY LOGGING的兩條記錄,即可滿足DRS增量同步要求。
步驟 1 如果不滿足要求,可執行以下sql語句開啟表級PK/UI級別補全日志。
alter database add supplemental log data;
alter table SCHEMA名.表名add supplemental log data(primary key,unique) columns;
表級補全日志ALL檢查
針對用戶選擇的待同步的表級對象,檢查補全日志是否滿足要求。
步驟 2 在源庫中執行以下sql語句。
select * from ALL_LOG_GROUPS where LOG_GROUP_TYPE='ALL COLUMN LOGGING' and OWNER='大寫SCHEMA名' and TABLE_NAME='大寫表名';
該表名在查詢結果中有記錄,即可滿足DRS增量同步要求。
步驟 2 如果不滿足要求,可執行以下sql語句開啟表級ALL級別補全日志。
alter database add supplemental log data;
alter table SCHEMA名.表名add supplemental log data(all) columns;
庫級補全日志檢查
針對待同步的庫級對象,檢查補全日志是否滿足要求。
步驟 3 在源庫執行以下sql語句。
select SUPPLEMENTAL_LOG_DATA_MIN MIN, SUPPLEMENTAL_LOG_DATA_PK PK, SUPPLEMENTAL_LOG_DATA_UI UI, SUPPLEMENTAL_LOG_DATA_ALL ALL_LOG from v$database;
步驟 3 滿足以下其中一項要求即可。
PK和UI同時為YES,即可滿足DRS增量同步要求。
如果不滿足要求,可執行以下sql語句開啟庫級PK/UI級別補全日志。
alter database add supplemental log data(primary key, unique) columns;
ALL_LOG為YES,即可滿足DRS增量同步要求。
如果不滿足要求,可執行以下sql語句開啟庫級ALL級別補全日志。
alter database add supplemental log data(all) columns;