RESTART REPLICAT
RESTART REPLICAT
を使用すると、Replicatグループを停止し、その後起動できます。Replicatが起動したことを確認するには、INFO REPLICAT
またはSTATUS REPLICAT
コマンドを使用します。
通常の開始位置
Replicatは通常の開始位置(最初または現在のチェックポイントから)、または別の、トレイル内のユーザーが指定した位置から開始できます。
オプションなしのRESTART REPLICAT
では、Replicatは次のいずれかの位置で処理を開始し、データの整合性を維持します。
-
正常または異常終了後: トレイル内の前回の実行で処理されなかった最初のトランザクション(現在の読取りチェックポイントが示す位置)
-
グループ作成後の最初の起動時: アクティブなトレイル・ファイルの初め(順序番号
0
、rba 0
)。
別の開始位置
START REPLICAT
のSKIPTRANSACTION
、ATCSN
およびAFTERCSN
オプションにより、Replicat全体、または調整Replicatの特定のスレッドが、通常の開始位置ではないトレイル内のトランザクションで処理を開始します。これらのオプションを使用して次のことを行います。
-
Replicatのトレイル内の処理進行を妨げるエラー時の論理リカバリ位置を指定する。問題のあるトランザクションをスキップする位置にReplicatを配置できますが、このようなトランザクションのデータがターゲットに適用されないことを認識して使用してください。
-
初期ロード中に、バックアップがターゲットに適用された後で、重複レコードおよび行方不明レコード・エラーを引き起こす、レプリケートされたトランザクションをスキップします。これらのオプションにより、Replicatはバックアップで取得された最新の変更セットよりも前に発生したトランザクションを破棄します。バックアップの完了に対応するシリアルIDの値をCSN値にマッピングできます。その後、Replicatを起動して、指定したCSN以降のトランザクションの適用を開始できます。
構文
RESTART REPLICAT group_name_wildcard
[SKIPTRANSACTION | {ATCSN csn
| AFTERCSN csn}]
[FILTERDUPTRANSACTIONS | NOFILTERDUPTRANSACTIONS
]
[THREADS (threadID
[, threadID
][, ...][, thread_range
[, thread_range
][, ...])
-
group_name_wildcard
-
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 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は異常終了し、トレイル・フォーマットがサポートされていないことを通知するエラーをレポートに書き込みます。-
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の異常終了を引き起こす可能性のある重複トランザクションがトレイル内にあることがわかっている場合に使用します。このオプションではチェックポイント表の使用が必要です。データベースがOracleの場合、このオプションは非統合モードのReplicatに対してのみ有効です。統合モードで自動ターゲット・トレイル・ファイル再生成の場合は、統合モードは、重複したトランザクションを透過的に処理します。デフォルトはFILTERDUPTRANSACTIONS
です。 -
THREADS thread_list
-
Replicatが調整モードの場合、
SKIPTRANSACTION
、ATCSN
およびAFTERCSN
に有効です。これらのオプションなしのRESTART REPLICAT
には無効です。指定したReplicatスレッドを指定した場所で開始します。
例
-
RESTART REPLICAT finance
-
次の例では、Replicatを起動して、固有のCSNから処理を開始します。
RESTART REPLICAT finance, ATCSN 6488359
-
次の例では、調整Replicatのスレッド4および5が、Replicatが起動されたときに、最新のチェックポイントの後の最初のトランザクションをスキップします。これが10スレッドの調整Replicatの場合、スレッド0-3および6-10はすべて最新のチェックポイントである通常の開始位置で開始します。
RESTART REPLICAT fin SKIPTRANSACTION THREADS (4-5)
-
次の例では、調整Replicatのスレッド1-3はCSN 6488359で開始し、スレッド9-10はCSN 6488360の後に開始し、スレッド7および8は最新のチェックポイント後の最初のトランザクションをスキップします。
RESTART REPLICAT fin ATCSN 6488359 THREADS (1-3), AFTERCSN 6488360 THREADS (9-10), SKIPTRANSACTION THREADS (7,8)