將 Replicat 切換為協調模式
適用於 Oracle GoldenGate 支援的所有資料庫類型。
此程序會將一般 Replicat 組態 (非協調式) 升級為協調式組態。此程序假設您正在以使用一個 Extract 和一個協調式 Replicat 的組態取代跨多個 Extract 和 Replicat 處理作業分割資料的組態。協調式 Replicat 可取代使用多個 Replicat 處理作業的需求。協調式 Replicat 只需要一個歷程檔,因此不需要多個 Extract 處理作業。
程序總覽
此程序會使用 EVENTACTIONS 參數與 STOP 動作,讓所有的 Replicat 處理作業在歷程檔的相同點停止。EVENTACTIONS 動作是由包含虛擬表格之 INSERT 的交易所觸發。INSERT 會讓每個處理完成處理事件交易的所有項目 (包括事件交易),然後完全停止。為 Replicat 指定了額外的 IGNORE 事件動作,以防止多個 Replicat 處理作業嘗試將相同的記錄插入目標。此程序的結果是所有處理作業都會在資料串流的相同點停止:完成 INSERT 交易至虛擬表格之後。
處理停止之後,您可以將所有 TABLE 陳述式移至一個主要 Extract 群組。您可以將所有 MAP 陳述式移至新的協調式 Replicat 群組,以讀取與保留的 Extract 關聯的歷程檔。所有 MAP 敘述句都位於一個參數檔之後,您可以編輯它們來新增繫線規格,以支援協調式 Replicat。(這可以提前完成。) 接著,刪除 Replicat 群組,然後以相同名稱的協調模式將它加回。
執行切換至協調式 Replicat
注意:在這些指示提示之前,請勿建立 Replicat 群組。
-
備份所有 Extract 群組和 Replicat 群組的目前參數檔。您將進行編輯。
-
在 Oracle GoldenGate 目錄外建立工作目錄。您將使用此目錄來建立及暫存參數檔的新版本。如有需要,您可以在來源系統和目標系統上建立工作目錄。
-
在工作目錄中,為協調式 Replicat 建立參數檔。將
MAP參數從所有 Replicat 群組的作用中參數檔複製到此參數檔,然後新增繫線規格以及支援所需之協調式 Replicat 組態的任何其他參數 -
如果使用多個主要 Extract 群組,請選取要保留的群組,然後將目前參數檔的複本儲存至工作目錄。
-
將其他 Extract 群組的所有
TABLE敘述句複製到您保存之主要 Extract 的新參數檔。 -
將其他 Extract 的所有
TABLE敘述句複製到保留之 Extract 的複製參數檔。 -
在來源資料庫中,建立一個簡單的虛擬表格,在其中執行簡單的
INSERT敘述句。對於此程序,會使用名稱schema.event。 -
在目標系統上建立相同的表格,以避免需要額外的組態參數。
-
編輯所有主要和資料汲取 Extract 群組的作用中參數檔 (非複本),以將下列
EVENTACTIONS參數新增至每個參數。
TABLE schema.event, EVENTACTIONS(STOP);
- 編輯所有 Replicat 群組的作用中參數檔 (非複本),以將下列
EVENTACTIONS參數新增至每個參數。
MAP schema.event, TARGET schema.event, EVENTACTIONS(IGNORE, STOP);
-
請依照下列順序正常停止 Oracle GoldenGate 處理作業:
-
停止所有 Replicat 處理作業。
-
停止所有 Extract 處理作業。
-
-
重新啟動 Oracle GoldenGate 處理作業的順序如下,以便
EVENTACTIONS參數生效:-
啟動所有 Extract 處理作業。
-
啟動所有 Replicat 處理作業。
-
-
在來源系統上,在包含一個
INSERT敘述句的schema.event表格上發出交易。確實確認交易。 -
在「管理從屬端」中,對來源系統上的所有主要 Extract 發出
STATUS命令,然後針對目標系統上的所有 Replicat 處理作業發出相同的命令,直到命令顯示所有處理作業都是STOPPED為止。
STATUS EXTRACT *
STATUS REPLICAT *
-
將您保留的 Extract 的作用中參數檔取代為工作目錄的新參數檔。
-
刪除不需要的 Extract 及其參數檔。
-
使用
DBLOGIN USERIDALIAS命令登入目標資料庫。 -
刪除所有 Replicat 群組及其作用中參數檔。
-
將新的協調式 Replicat 參數檔從工作目錄複製到 Oracle GoldenGate 目錄。
-
在「管理從屬端」中,發出
INFO EXTRACT命令並記下其在歷程檔中的寫入檢查點位置。
INFO EXTRACT *extract_name*, DETAIL
- 使用下列參數新增協調式 Replicat 群組。
ADD REPLICAT *group*, EXTTRAIL *trail*, EXTSEQNO *sequence_number*, EXTRBA *rba*, COORDINATED MAXTHREADS *number*
Where:
- *group* is the name of the coordinated Replicat group. The name must match that of the new parameter file created for this group.
- `EXTTRAIL` *trail* is the name of the trail that the Extract writes to.
- `EXTSEQNO `*sequence_number* is the sequence number of the trail as shown in the write checkpoint returned by the `INFO EXTRACT` that you issued for the Extract.
- `EXTRBA `*rba* is the relative byte address in the trail as shown in the write checkpoint returned by `INFO EXTRACT`. Together, these position Replicat to resume processing at the correct point in the trial.
- `MAXTHREADS` number specifies the maximum number of threads allowed for this group. This value should be appropriate for the number of threads that are specified in the parameter file.
-
啟動主要 Extract 群組。
-
啟動協調式 Replicat 群組。