START REPLICAT

使用 START REPLICAT 來啟動 Replicat。若要確認 Replicat 已啟動,請使用 INFO REPLICAT 或 STATUS REPLICAT 命令。

啟動 Oracle 目標資料庫的整合式 Replicat 群組時,START REPLICAT 會自動向目標資料庫註冊 Replicat。

協調式 Replicat 只能整體啟動。沒有可啟動個別繫線的選項。如果先前的協調式 Replicat 關閉並不完全,繫線就可能在歷程檔中的不同位置停止。如果發生此情況,START REPLICAT 會在參數檔自上次執行後已變更時寫入警告,並在執行緒數目變更時發出錯誤。

一般起始點

Replicat 可在其一般起始點 (從初始或目前檢查點) 啟動,或是從歷程檔中使用者指定的替代位置啟動。

START REPLICAT 若無任何選項,會使 Replicat 在下列其中一種點開始處理,以維持資料完整性:

替代起始點

START REPLICAT 的 SKIPTRANSACTION、ATCSN 和 AFTERCSN 選項會讓 Replicat 變成整體,或是協調式 Replicat 的特定繫線,在歷程檔中除了一般起點之外的交易開始進行處理。請使用這些選項執行下列操作:

語法

START REPLICAT group_name
[SKIPTRANSACTION | {ATCSN csn | AFTERCSN csn}]
[FILTERDUPTRANSACTIONS | NOFILTERDUPTRANSACTIONS]
[THREADS (threadID[, threadID][, ...][, thread_range[, thread_range][, ...])

group_name

Replicat 群組的名稱或用以指定多個群組的萬用字元 (*)。例如,T* 會啟動名稱以 T 開頭的所有 Replicat 群組。

SKIPTRANSACTION

讓 Replicat 略過歷程檔中其預期啟動位置後發生的第一個異動。來自該第一個異動的所有作業都會被排除。

如果此 Replicat 也使用 MAXTRANSOPS 參數,處理作業可能會從交易中間的某個位置開始讀取歷程檔。在該情況下,會略過該部分異動的剩餘部分,而 Replicat 則會從檔案中的下一筆開始異動記錄繼續正常處理。如果使用 DISCARDFILE 參數,則略過的記錄會寫入捨棄檔案;否則會將訊息寫入類似以下的報表檔案:

User requested START SKIPTRANSACTION. The current transaction will be skipped. Transaction ID txid, position Seqno seqno, RBA rba

只有當 Replicat 讀取的歷程檔屬於線上變更同步化組態 (含檢查點) 的一部分時,SKIPTRANSACTION 才會有效。不適用於 task-type 初始載入 (其中 SPECIALRUN 與 ADD REPLICAT 搭配使用)。

ATCSN csn AFTERCSN csn

在特定 CSN 設定使用者定義的起始點。使用 ATCSN 或 AFTERCSN 時,與下列其中一項類似的訊息會寫入報表檔案:

User requested start at commit sequence number (CSN) csn-string
User requested start after commit sequence number (CSN) csn-string

關於這些選項的一般資訊:

FILTERDUPTRANSACTIONS | NOFILTERDUPTRANSACTIONS

讓 Replicat 忽略已處理過的異動。當 Extract 重新定位至新的起點時使用 (請參閱 "START EXTRACT " 的 ATCSN 或 AFTERCSN 選項),而且您確信歷程檔中有重複的交易可能會導致 Replicat 停止。此選項需要使用檢查點表格。預設值為 FILTERDUPTRANSACTIONS。不過,如果您使用 NOFILTERDUPTRANSACTIONS,則會覆寫整合式 Replicat 預設設定,使其不會篩選重複項。因此這在傳統 Replicat 與整合式 Replicat 上的效果相同。

THREADS (threadID[, threadID][, ...][, thread_range[, thread_range][, ...])

當 Replicat 為協調模式時,適用於 SKIPTRANSACTION、ATCSN 和 AFTERCSN。不適用於沒有這些選項的 START REPLICAT。啟動指定的 Replicat 繫線或位於指定位置的繫線。

threadID[, threadID][, ...]

指定繫線 ID 或以逗號分隔的繫線清單,格式為 threadID, threadID, threadID。

thread_range[, thread_range][, ...]

以 threadIDlow-threadIDhigh 格式或以逗號分隔的範圍清單 (格式為 threadIDlow-threadIDhigh,threadIDlow-threadIDhigh) 來指定繫線範圍。

允許使用這些格式的組合,例如 threadID, threadID、threadIDlow-threadIDhigh。

範例


START REPLICAT reps

以下會在 Oracle 特定 CSN 啟動 Replicat。

START REPLICAT reps, ATCSN 6488359

以下會在所指定 CSN 之項目後的 SQL Server 特定 CSN 啟動 Replicat。

START REPLICAT reps, AFTERCSN 0X000004D2:0000162E:0009

以下會使協調式 Replicat 的繫線 4 與 5 在 Replicat 啟動時略過它們上一個檢查點後的第一個異動。如果這是一個 10 繫線協調式 Replicat,則繫線 0-3 與 6-10 都會在一般起始點 (即它們上一個檢查點的起始點) 啟動。

START REPLICAT reps SKIPTRANSACTION THREADS(4-5)

下列範例會讓協調式 Replicat 的繫線 1-3 從 CSN 6488359 開始。

START REPLICAT reps ATCSN 6488359 THREADS(1-3)