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

SKIPTRANSACTIONは、Replicatで読み取るトレイルが(チェックポイントがある)オンライン変更同期構成の一部である場合にのみ有効になります。タスクタイプの初期ロード(ADD REPLICATでSPECIALRUNを使用する場合)では有効ではありません。

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][, ...]

threadID, threadID, threadIDというフォーマットでスレッドIDまたはスレッドのカンマ区切りリストを指定します。

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)