2.80 START REPLICAT
START REPLICATでは、Replicatを起動します。Replicatが起動したことを確認するには、INFO REPLICATまたはSTATUS REPLICATコマンドを使用します。
Oracleターゲット・データベースの統合Replicatグループを開始するときに、START REPLICATはReplicatをターゲット・データベースに自動的に登録します。
調整Replicatは全体としてのみ開始することができます。個別にスレッドを開始するオプションはありません。調整Replicatの前回の停止がクリーンではなかった場合、スレッドはトレイル・ファイル内の様々な位置で停止した可能性があります。これが発生した場合、START REPLICATは、パラメータ・ファイルが前回の実行から変更された場合は警告を書き込み、スレッドの番号が変更された場合はエラーを発生させます。
通常の開始位置
Replicatは通常の開始位置(最初または現在のチェックポイントから)、または別の、トレイル内のユーザーが指定した位置から開始できます。
オプションなしのSTART REPLICATでは、Replicatは次のいずれかの位置で処理を開始し、データの整合性を維持します。
-
正常または異常終了後: トレイル内の前回の実行で処理されなかった最初のトランザクション(現在の読取りチェックポイントが示す位置)
-
グループ作成後の最初の起動時: アクティブなトレイル・ファイルの初め(順序番号
0、rba 0)。
別の開始位置
START REPLICATのSKIPTRANSACTION、ATCSNおよびAFTERCSNオプションにより、Replicat全体、または調整Replicatの特定のスレッドが、通常の開始位置ではないトレイル内のトランザクションで処理を開始します。これらのオプションを使用して次のことを行います。
-
Replicatのトレイル内の処理進行を妨げるエラー時の論理リカバリ位置を指定する。問題のあるトランザクションをスキップする位置にReplicatを配置できますが、このようなトランザクションのデータがターゲットに適用されないことを認識して使用してください。
-
初期ロード中に、バックアップがターゲットに適用された後で、重複レコードおよび行方不明レコード・エラーを引き起こす、レプリケートされたトランザクションをスキップします。これらのオプションにより、Replicatは、バックアップでキャプチャされた最新の変更のセットよりも前に発生したトランザクションを破棄します。バックアップの完了に対応するシリアルIDの値をCSN値にマップしてから、Replicatを起動し、指定したCSNから前へトランザクションの適用を開始します。
ノート:
トランザクションをスキップするか、特定のCSNまたはそれ以降から開始する場合は、適切なトランザクション・レコードに到達するまでに読み取る必要があるデータ量に応じて、Replicatの処理開始が通常より遅くなることがあります。処理開始の進捗状況を表示するには、SEND REPLICATコマンドとSTATUSオプションを使用します。Replicatが最終的にはスキップされるトランザクションを読み取る必要をなくすには、Extractとデータ・ポンプの開始時にATCSNまたはAFTERCSNオプションを使用して、そのようなトランザクションを証跡から省略できるようにします。「START EXTRACT」を参照してください。
構文
START REPLICAT group_name
[SKIPTRANSACTION | {ATCSN csn | AFTERCSN csn}]
[FILTERDUPTRANSACTIONS | NOFILTERDUPTRANSACTIONS]
[THREADS (threadID[, threadID][, ...][, thread_range[, thread_range][, ...])-
group_name -
1つのReplicatグループ名、または複数のグループを指定するワイルドカード(*)。たとえば、
T*と指定すると、名前がTから始まるすべてのReplicatグループが起動されます。 -
SKIPTRANSACTION -
Replicatに、起動時の位置以降の1番目のトランザクションをスキップさせます。この1番目のトランザクション内の操作は、すべて除外されます。
このReplicatに
MAXTRANSOPSパラメータも使用されている場合、プロセスは、トランザクションの途中の任意の場所からトレイル・ファイルの読取りを開始できます。その場合、部分的なトランザクションの残りがスキップされ、Replicatは、ファイル内の次の開始トランザクション・レコードから通常の処理を再開します。DISCARDFILEパラメータを使用している場合は、スキップされたレコードは破棄ファイルに書き込まれます。このパラメータを使用していない場合は、次のようなメッセージがレポート・ファイルに書き込まれます。User requested START SKIPTRANSACTION. The current transaction will be skipped. Transaction ID txid, position Seqno seqno, RBA rbaSKIPTRANSACTIONは、Replicatの読取り先トレイルが、(チェックポイントを使用した)オンライン変更同期構成に含まれている場合にのみ有効です。タスクタイプの初期ロード(ADD REPLICATでSPECIALRUNを使用する場合)では有効ではありません。 -
ATCSNcsn| AFTERCSNcsn -
特定のCSNにユーザー定義の開始ポイントを設定します。
ATCSNまたはAFTERCSNが使用されている場合、次のいずれかのようなメッセージがレポート・ファイルに書き込まれます。User requested start at commit sequence number (CSN) csn-stringUser requested start after commit sequence number (CSN) csn-stringこれらのオプションの一般情報は次のとおりです。
-
Replicatの読取り先トレイルが、(チェックポイントを使用した)オンライン変更同期構成に含まれている場合にのみ有効です。タスクタイプの初期ロード(
ADD REPLICATでSPECIALRUNを使用する場合)では有効ではありません。 -
CSNで開始またはそれより後に開始をサポートするために、CSNは各トランザクションの最初の証跡レコードに格納されます。それ以前のバージョンのトレイルに対し、
AFTERCSNを指定してReplicatを起動すると、Replicatは異常終了し、トレイル・フォーマットがサポートされていないことを通知するエラーをレポートに書き込みます。-
ATCSN -
Replicatに、指定したCSNを含むトランザクションで処理を開始させます。指定したCSNより小さいCSN値を含むトレイル内のトランザクションはスキップされます。
-
AFTERCSN -
Replicatに、指定したCSNを含むトランザクションの後に発生したトランザクションで処理を開始させます。指定したCSNより小さいまたは同じCSN値を含むトレイル内のトランザクションはスキップされます。
-
csn -
CSN値を指定します。データベースに有効な形式でCSN値を入力します。CSNの形式と説明は、『Oracle GoldenGateの管理』を参照してください。形式が無効な場合、Replicatは異常終了し、メッセージがレポート・ファイルに書き込まれます。初期ロードの完了後に指定するCSNを特定するには、ロード・ユーティリティがロードを完了したときのコミット識別子を使用します。それ以外の場合は、Replicatを起動するときを特定するための、初期ロード・プロシージャの手順に従います。
-
-
-
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 finance -
次の例では、Replicatを起動し、Oracle固有のCSNから処理を開始します。
START REPLICAT finance, ATCSN 6488359 -
次の例では、Replicatを起動し、指定したCSNを含むSQL Server固有のCSNの後のCSNで処理を開始します。
START REPLICAT finance, AFTERCSN 0X000004D2:0000162E:0009 -
次の例では、調整Replicatのスレッド4および5が、Replicatが起動されたときに、最新のチェックポイントの後の最初のトランザクションをスキップします。これが10スレッドの調整Replicatの場合、スレッド0-3および6-10はすべて最新のチェックポイントである通常の開始位置で開始します。
START REPLICAT fin SKIPTRANSACTION THREADS(4-5) -
次の例では、調整Replicatのスレッド1-3はCSN 6488359で開始し、スレッド9-10はCSN 6488360の後に開始し、スレッド7および8は最新のチェックポイント後の最初のトランザクションをスキップします。
START REPLICAT fin ATCSN 6488359 THREADS(1-3), AFTERCSN 6488360 THREADS(9-10), SKIPTRANSACTION THREADS(7,8)
親トピック: 共通コマンドライン・インタフェースのコマンド