協調來源與目標之間的表格屬性
您的資料庫不支援 Oracle GoldenGate DDL 功能時,請依照此程序變更來源表格的屬性。屬性變更包括新增或變更資料欄或分割區。指示如何在不發生複製延遲的情況下,對目標表格進行相同的變更。
注意:對於 Oracle 和 MySQL 資料庫,您可以啟用 Oracle GoldenGate 的 DDL 支援功能,將 DDL 變更傳輸至目標,而不是使用此程序。
- 在來源和目標系統上,建立一個稱為標記表格的表格,此表格可用於產生標記,以表示交易日誌中的停止點。只要建立兩個簡單的資料欄:一個作為主索引鍵,另一個作為一般資料欄。舉例而言:
CREATE TABLE marker
(
id int NOT NULL,
column varchar(25) NOT NULL,
PRIMARY KEY (id)
);
- 在來源和目標系統的標記表格中插入資料列。
INSERT INTO marker VALUES (1, 1);
COMMIT;
-
在來源系統上,執行「管理用戶端」。
-
開啟 Extract 參數檔進行編輯。
注意:請勿使用
VIEW PARAMS或EDIT PARAMS指令來檢視或編輯位於本機作業系統以外字元集的現有參數檔案 (例如,CHARSET選項用來指定其他字元集的字元集)。如果是這種情況,請從命令行介面外部檢視參數檔;否則,內容可能已損毀。 -
將標記表格新增至
TABLE敘述句中的 Extract 參數檔。
TABLE marker;
-
儲存並關閉參數檔。
-
將標記表格新增至資料汲取的
TABLE敘述句 (如果有使用的話)。 -
停止 Extract 和資料汲取處理作業,然後立即重新啟動以防止擷取延遲。
STOP EXTRACT *group*
START EXTRACT *group*
-
在目標系統上,執行「管理用戶端」。
-
開啟 Replicat 參數檔進行編輯。
注意:請勿使用
VIEW PARAMS或EDIT PARAMS指令來檢視或編輯位於本機作業系統以外字元集的現有參數檔案 (例如,CHARSET選項用來指定其他字元集的字元集)。如果是這種情況,請從外部「管理從屬端」檢視參數檔;否則,內容可能會損毀。 -
將標記表格新增至
MAP敘述句中的 Replicat 參數檔,然後使用顯示的EVENTACTIONS參數來停止 Replicat,並忽略標記表格上的作業。
MAP marker, TARGET marker, EVENTACTIONS (STOP, IGNORE);
-
儲存並關閉參數檔。
-
停止,然後立即重新啟動 Replicat 處理作業。
STOP REPLICAT *group*
START REPLICAT *group*
-
當您準備好變更來源與目標表格的表格屬性時,請停止所有使用者活動。
-
在來源系統上,對標記表格執行
UPDATE作業,作為交易中唯一的作業。
UPDATE marker
SET column=2,
WHERE id=1;
COMMIT;
- 在目標系統上發出下列命令,直到顯示 Replicat 因
EVENTACTIONS規則而停止為止。
STATUS REPLICAT *group*
-
對來源與目標表格執行 DDL,但不允許使用者活動。
-
啟動 Replicat。
START REPLICAT *group*
- 允許來源與目標表格上的使用者活動。