協調來源與目標之間的表格屬性

您的資料庫不支援 Oracle GoldenGate DDL 功能時,請依照此程序變更來源表格的屬性。屬性變更包括新增或變更資料欄或分割區。指示如何在不發生複製延遲的情況下,對目標表格進行相同的變更。

注意:對於 Oracle 和 MySQL 資料庫,您可以啟用 Oracle GoldenGate 的 DDL 支援功能,將 DDL 變更傳輸至目標,而不是使用此程序。

  1. 在來源和目標系統上,建立一個稱為標記表格的表格,此表格可用於產生標記,以表示交易日誌中的停止點。只要建立兩個簡單的資料欄:一個作為主索引鍵,另一個作為一般資料欄。舉例而言:
CREATE TABLE marker
(
id int NOT NULL,
column varchar(25) NOT NULL,

PRIMARY KEY (id)
);
  1. 在來源和目標系統的標記表格中插入資料列。
INSERT INTO marker VALUES (1, 1);
COMMIT;
  1. 在來源系統上,執行「管理用戶端」。

  2. 開啟 Extract 參數檔進行編輯。

    注意:請勿使用 VIEW PARAMS 或 EDIT PARAMS 指令來檢視或編輯位於本機作業系統以外字元集的現有參數檔案 (例如,CHARSET 選項用來指定其他字元集的字元集)。如果是這種情況,請從命令行介面外部檢視參數檔;否則,內容可能已損毀。

  3. 將標記表格新增至 TABLE 敘述句中的 Extract 參數檔。

TABLE marker;
  1. 儲存並關閉參數檔。

  2. 將標記表格新增至資料汲取的 TABLE 敘述句 (如果有使用的話)。

  3. 停止 Extract 和資料汲取處理作業,然後立即重新啟動以防止擷取延遲。

STOP EXTRACT *group*
START EXTRACT *group*
  1. 在目標系統上,執行「管理用戶端」。

  2. 開啟 Replicat 參數檔進行編輯。

    注意:請勿使用 VIEW PARAMS 或 EDIT PARAMS 指令來檢視或編輯位於本機作業系統以外字元集的現有參數檔案 (例如,CHARSET 選項用來指定其他字元集的字元集)。如果是這種情況,請從外部「管理從屬端」檢視參數檔;否則,內容可能會損毀。

  3. 將標記表格新增至 MAP 敘述句中的 Replicat 參數檔,然後使用顯示的 EVENTACTIONS 參數來停止 Replicat,並忽略標記表格上的作業。

MAP marker, TARGET marker, EVENTACTIONS (STOP, IGNORE);
  1. 儲存並關閉參數檔。

  2. 停止,然後立即重新啟動 Replicat 處理作業。

STOP REPLICAT *group*
START REPLICAT *group*
  1. 當您準備好變更來源與目標表格的表格屬性時,請停止所有使用者活動。

  2. 在來源系統上,對標記表格執行 UPDATE 作業,作為交易中唯一的作業。

UPDATE marker
SET column=2,
WHERE id=1;
COMMIT;
  1. 在目標系統上發出下列命令,直到顯示 Replicat 因 EVENTACTIONS 規則而停止為止。
STATUS REPLICAT *group*
  1. 對來源與目標表格執行 DDL,但不允許使用者活動。

  2. 啟動 Replicat。

START REPLICAT *group*
  1. 允許來源與目標表格上的使用者活動。