START REPLICATでは、Replicatを起動します。Replicatが起動したことを確認するには、INFO REPLICATまたはSTATUS REPLICATコマンドを使用します。
Oracleターゲット・データベースの統合Replicatグループを開始するときに、START REPLICATはReplicatをターゲット・データベースに自動的に登録します。統合Replicatの詳細は、Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成を参照してください。
調整Replicatは全体としてのみ開始することができます。個別にスレッドを開始するオプションはありません。調整Replicatの前回の停止がクリーンではなかった場合、スレッドはトレイル・ファイル内の様々な位置で停止した可能性があります。これが発生した場合、START REPLICATは、パラメータ・ファイルが前回の実行から変更された場合は警告を書き込み、スレッドの番号が変更された場合はエラーを発生させます。これらの問題を解決し、Replicatを再起動するには、Oracle GoldenGateの管理for Windows and UNIXを参照してください。
通常の開始位置
Replicatは通常の開始位置(最初または現在のチェックポイントから)、または別の、トレイル内のユーザーが指定した位置から開始できます。
オプションなしのSTART REPLICATでは、Replicatは次のいずれかの位置で処理を開始し、データの整合性を維持します。
正常または異常終了後: トレイル内の前回の実行で処理されなかった最初のトランザクション(現在の読取りチェックポイントが示す位置)
グループ作成後の最初の起動時: アクティブなトレイル・ファイルの初め(順序番号0、rba 0)
チェックポイントの詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。
別の開始位置
START REPLICATのSKIPTRANSACTION、ATCSNおよびAFTERCSNオプションにより、Replicat全体、または調整Replicatの特定のスレッドが、通常の開始位置ではないトレイル内のトランザクションで処理を開始します。これらのオプションを使用して次のことを行います。
Replicatのトレイル内の処理進行を妨げるエラー時の論理リカバリ位置を指定する。問題のあるトランザクションをスキップする位置にReplicatを配置できますが、このようなトランザクションのデータがターゲットに適用されないことを認識して使用してください。
初期ロード中に、バックアップがターゲットに適用された後で、重複レコードおよび行方不明レコード・エラーを引き起こす、レプリケートされたトランザクションをスキップします。これらのオプションにより、Replicatは、バックアップでキャプチャされた最新の変更のセットよりも前に発生したトランザクションを破棄します。バックアップの完了に対応するシリアル識別子の値をCSN値にマップしてから、Replicatを起動し、指定したCSNから前へトランザクションの適用を開始します。
|
注意: トランザクションをスキップするか、特定のCSNまたはそれ以降から開始する場合は、適切なトランザクション・レコードに到達するまでに読み取る必要があるデータ量に応じて、Replicatの処理開始が通常より遅くなることがあります。処理開始の進捗状況を表示するには、SEND REPLICATコマンドとSTATUSオプションを使用します。Replicatが最終的にはスキップされるトランザクションを読み取る必要をなくすには、Extractとデータ・ポンプの開始時にATCSNまたはAFTERCSNオプションを使用して、そのようなトランザクションをトレイルから省略できるようにします。「START EXTRACT」を参照してください。 |
初期ロードの実行の詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。
構文
START REPLICATgroup_name[SKIPTRANSACTION | {ATCSNcsn| AFTERCSN csn}] [FILTERDUPTRANSACTIONS] [THREADS (threadID[,threadID][, ...][,thread_range[,thread_range][, ...])
group_name1つのReplicatグループ名、または複数のグループを指定するワイルドカード(*)。たとえば、「T*」と指定すると、名前がTから始まるすべてのReplicatグループが起動されます。
SKIPTRANSACTIONReplicatに、起動時の位置以降の1番目のトランザクションをスキップさせます。この1番目のトランザクション内の操作は、すべて除外されます。
この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
これらのオプションの一般情報は次のとおりです。
Replicatの読取り先トレイルが、(チェックポイントを使用した)オンライン変更同期構成に含まれている場合にのみ有効です。タスクタイプの初期ロード(ADD REPLICATでSPECIALRUNを使用する場合)では有効ではありません。
特定のCSNまたはその直後からの開始をサポートするには、トレイルがOracle GoldenGateバージョン10.0.0以降のものである必要があります。CSNは各トランザクションの最初のトレイルに格納されるからです。それ以前のバージョンのトレイルに対し、AFTERCSNを指定してReplicatを起動すると、Replicatは異常終了し、トレイル・フォーマットがサポートされていないことを通知するエラーをレポートに書き込みます。
ATCSNReplicatに、指定したCSNを含むトランザクションで処理を開始させます。指定したCSNより小さいCSN値を含むトレイル内のトランザクションはスキップされます。
AFTERCSNReplicatに、指定したCSNを含むトランザクションの後に発生したトランザクションで処理を開始させます。指定したCSNより小さいまたは同じCSN値を含むトレイル内のトランザクションはスキップされます。
csnCSN値を指定します。データベースに有効な形式でCSN値を入力します。CSNの形式と説明は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。形式が無効な場合、Replicatは異常終了し、メッセージがレポート・ファイルに書き込まれます。初期ロードの完了後に指定するCSNを特定するには、ロード・ユーティリティがロードを完了したときのコミット識別子を使用します。それ以外の場合は、Replicatを起動するときを特定するための、初期ロード・プロシージャの手順に従います。
FILTERDUPTRANSACTIONSReplicatに、すでに処理されたトランザクションを無視させます。Extractが新しい開始ポイント("START EXTRACT"のATCSNまたはAFTERCSNオプションを参照)に再配置され、Replicatの異常終了を引き起こす可能性のある重複トランザクションがトレイル内にあることがわかっている場合に使用します。このオプションではチェックポイント表の使用が必要です。データベースがOracleの場合、このオプションは非統合モードの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)