SEND REPLICATでは、起動中または実行中のReplicatプロセスと通信します。このリクエストは、Replicatがユーザーからのコマンドを受け入れる準備ができるとすぐに処理されます。
構文
SEND REPLICATgroup_name[threadID], { CACHEMGR {CACHESTATS | CACHEQUEUES | CACHEPOOLn} | FORCESTOP | GETLAG | HANDLECOLLISIONS | NOHANDLECOLLISIONS [table_spec] | INTEGRATEDPARAMS(parameter_specification) | REPORT [HANDLECOLLISIONS [table_spec]] | RESUME | STATUS | STOP | TRACE[2] [DDLINCLUDE | DDL[ONLY]] file_name | TRACE[2] OFF | TRACE OFF file_name | TRACEINIT | THREADS (threadID[,threadID][, ...][,thread_range[,thread_range][, ...]) }
group_name[threadID]Replicatグループの名前、または調整Replicatの特定のスレッドの名前(fin003など)。特定のスレッドに対してコマンドを発行する場合、使用するオプションはそのスレッドに対してのみ適用されます。かわりの方法として、threadIDをグループ名に含ませるのではなく、THREADSオプションを指定してSEND REPLICATを発行できます。このReplicatが実行中でない場合はエラーが返されます。
CACHEMGR {CACHESTATS | CACHEQUEUES | CACHEPOOL n}Oracle GoldenGateメモリー・キャッシュ・マネージャについての統計を返します。CACHEMGRは、Oracleサポートから指示が明示的にあった場合にのみ使用します。
CACHESTATS仮想メモリーの使用量とファイル・キャッシュに関する統計を返します。
CACHEQUEUES空きキューに関する統計のみを返します。
CACHEPOOL n指定されたオブジェクト・プールに関する統計のみを返します。
FORCESTOPすべての通知をバイパスし、Replicatを強制的に停止します。このコマンドは、アクティブなトランザクションをロールバックし、このプロセスを即座に停止します。このコマンドはReplicat全体に適用され、特定のReplicatスレッドに使用することはできません。
GETLAGReplicatとトレイル間の正確なラグ・タイムを表示します。ラグ・タイムは、Replicatによって最後のレコードが処理された時刻と、トレイル内のそのレコードのタイムスタンプとの差(秒)です。結果はLAG REPLICATと同じです。
HANDLECOLLISIONS | NOHANDLECOLLISIONS [table_spec]HANDLECOLLISIONSの動作を制御します。このオプションを使用するかわりに、Replicatパラメータ・ファイルにHANDLECOLLISIONSまたはNOHANDLECOLLISIONSパラメータを指定することもできます。HANDLECOLLISIONSの詳細は、「HANDLECOLLISIONS | NOHANDLECOLLISIONS」を参照してください。このコマンドはSEND REPLICAT group_name[threadID]を使用して個別のスレッドに直接送信することができます。また、THREADSオプションを使用して、複数のスレッドに影響を与えるコーディネータ・スレッドを介してコマンドを送信することもできます。
HANDLECOLLISIONSHANDLECOLLISIONSは、ソース・データベースがアクティブな間に初期データ・ロードを実行するときに発生するエラーを自動処理するために使用します。初期ロードが完了してオンライン・データの変更がターゲット表に適用された後、NOHANDLECOLLISIONSオプションを使用してSEND REPLICATを発行するか、パラメータ・ファイルからパラメータを削除することにより、必ずHANDLECOLLISIONSを無効にしてください。
|
注意: HANDLECOLLISIONSを使用したSEND REPLICATが特定のReplicatスレッドに対し発行されると、このコマンドでは特定のスレッドにより処理されるものだけでなくすべてのMAP文に対しHANDLECOLLISIONSが設定されることを示すメッセージが返されます。これは既知の問題です。実際にはこのコマンドは特定のスレッドを含むMAP文にのみ影響します。 |
NOHANDLECOLLISIONSHANDLECOLLISIONSパラメータを無効にします。ただしパラメータ・ファイルからは削除しません。次にReplicatを起動するときにHANDLECOLLISIONSを有効化しないようにするには、パラメータ・ファイルからこのパラメータを削除する必要があります。
table_spectable_specでは、HANDLECOLLISIONSまたはNOHANDLECOLLISIONSの適用を特定のターゲット表、または標準ワイルドカード(*)で指定したターゲット表グループに制限します。
INTEGRATEDPARAMS(parameter_specification)(Oracle)統合Replicatをサポートします。Replicatが統合モードで実行している間に、パラメータ指定をデータベース・インバウンド・サーバーに送信します。このコマンドでは一度に1つのパラメータ指定のみを送信できます。複数のパラメータ変更を送信するには、次の例に示すように、複数のSEND REPLICATコマンドを発行します。
SEND REPLICAT myrep INTEGRATEDPARAMS ( parallelism 4 )SEND REPLICAT myrep INTEGRATEDPARAMS ( max_sga_size 250)
処理の連続性を維持するには、パラメータ変更をトランザクション境界で行います。サポートされるインバウンド・サーバー・パラメータのリストは、Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成を参照してください。
REPORT [HANDLECOLLISIONS [table_spec]]Extractレポート・ファイルに一時的な統計レポートを生成します。RESETREPORTSTATS | NORESETREPORTSTATSオプションとともに使用する場合、表示される統計は、STATOPTIONSパラメータの構成によって異なります。「STATOPTIONS」を参照してください。
HANDLECOLLISIONSHANDLECOLLISIONSが有効な表を表示します。
table spec出力を特定のターゲット表、または標準ワイルドカード(*)で指定したターゲット表グループに制限します。
RESUMEEVENTACTIONS SUSPENDイベントによって一時停止されたプロセスを再開(アクティブに)します。プロセスは、一時停止された位置から通常の処理を再開します。
STATUSトレイル内の現在の位置、および現在のトランザクションに関する情報を返します。次のフィールドが出力されます。
処理ステータス(Replicatが調整の場合、スレッドごと)
トレイル・ファイル内の位置(Replicatが調整の場合、スレッドごと)
トレイルの順序番号(Replicatが調整の場合、スレッドごと)
トレイルのRBA
トレイル名
次のような処理ステータス・メッセージが表示されます。
Delaying – 追加のデータを待機中
Suspended – 再開を待機中
Waiting on deferred apply – DEFERAPPLYINTERVALパラメータに基づいて処理待機中
Processing data – データを処理中
Skipping current transaction – START REPLICATとSKIPTRANSACTIONを使用している場合。
Searching for START ATCSN csn – START REPLICATとATCSNを使用している場合。
Searching for START AFTERCSN csn – START REPLICATとAFTERCSNを使用している場合。
Performing transaction timeout recovery – 現在の未完了のトランザクションを中止し、新しいトランザクション開始のために再配置中(TRANSACTIONTIMEOUTパラメータを参照してください)。
Waiting for data at logical EOF after transaction timeout recovery – TRANSACTIONTIMEOUT終了後に未完了のソース・トランザクションの残りの部分の受信を待機中。
At EOF (end of file) – 処理するレコードなし
THREADSが使用されるか、または特定のスレッドに対してコマンドが発行されるときに表示されるスレッド・ステータス・メッセージ。
Waiting for consensus stop point: スレッドがバリア・トランザクションに対し同期しようとしていることを示します。
Waiting for Watermark: すべてのスレッドがトレイル内の同じトランザクション境界(グローバル水位標と呼ばれます)で停止しようとしていることを示します。
Waiting on all threads to start up: 成功したバリア・トランザクションまたはReplicatの起動後にすべてのスレッドが開始するのを、スレッドが待機していることを示します。
表示されるコーディネータ・スレッド・ステータス・メッセージは次のとおりです。
Waiting for all threads to register: MAP文がすべて解析されて、そこで指定されているスレッドIDが判別されることを示します。
Processing data: データが正常に処理されていることを示します。
Suspended, waiting to be resumed: SEND REPLICATコマンドがSUSPENDリクエストとともにReplicatに送信されたことを示します。
At EOF: トレイルに処理するデータがないことを示します。
Waiting to register MAP statistics: Replicatがレポート・ファイルに送信する処理統計を収集していることを示します。
STOPReplicatを正常に停止します。このコマンドはReplicat全体に適用され、特定のReplicatスレッドに使用することはできません。
THREADS (threadID[, threadID][, ...][, thread_range[, thread_range][, ...])このコマンドは、特定のスレッドまたは調整Replicatのスレッドに対してのみ発行します。このオプションを使用するか、またはgroupnameをthreadIDとともに使用することができます。これらのオプションのいずれも使用しないと、コマンドはすべてのアクティブなスレッドに適用されます。
threadID[, threadID][, ...]スレッドIDを指定するか、スレッドのカンマ区切りリストをthreadID, threadID, threadIDの形式で指定します。
thread_range[, thread_range][, ...]スレッドの範囲をthreadIDlow-threadIDhighの形式で指定するか、範囲のカンマ区切りリストをthreadIDlow-threadIDhigh, threadIDlow-threadIDhighの形式で指定します。
threadID, threadID, threadIDlow-threadIDhighのように、これらの形式を組み合せることができます。
TRACE[2] [DDLINCLUDE | DDL[ONLY]] file_nameトレースの有効化と無効化を切り替えます。トレースは、処理のボトルネックを明らかにする情報を、指定したファイルに取得します。トレースは、ReplicatパラメータのTRACEおよびTRACE2でも有効化できます。
Replicatが調整モードで、TRACEがTHREADSリストまたは範囲とともに使用されている場合は、現在アクティブな各スレッドのトレース・ファイルが作成されます。各ファイル名には、関連付けられているスレッドIDが追加されます。このスレッドIDによるトレース・ファイル識別方法は、SEND REPLICATが(SEND REPLICAT fin003 TRACE...のように) groupnameとthreadIDによって発行される場合、または1つのスレッドのみがTHREADSで指定されている場合には適用されません。
トレースによって重大な処理のボトルネックが明らかになった場合は、Oracleサポートに連絡してください。
TRACEステップバイステップの処理情報を取得します。
TRACE2具体的なステップでなく、コード・セグメントを特定します。
DDLINCLUDE | DDLONLY(Replicatのみ) DDLトレースを有効化し、トレース・レポートにDDLトレースを取得する方法を指定します。
DDLINCLUDEでは、トランザクション・データ処理の通常のトレースに加えてDDLトレースを取得します。
DDL[ONLY]では、トランザクション・データ処理の通常のトレースを除外し、DDLのみをトレースします。このオプションは、DDLに短縮できます。
file_namefile_nameはOracle GoldenGateがトレース情報を記録するファイルの相対名または完全修飾名を指定します。トレースがすでに実行中の場合は、既存のトレース・ファイルが閉じ、file_nameで指定したファイルにトレースが再開されます。例:
SEND REPLICAT group_name TRACE file_name DDLINCLUDE
次の例のように、ファイル名の後に他のオプションを指定しない場合は、FILEキーワードを省略できます。
SEND REPLICAT group_name TRACE DDLINCLUDE file_name
TRACE[2] OFFトレースを無効にします。
TRACE OFF file_name指定したトレース・ファイルに対してのみ、トレースをオフにします。このオプションは、複数のEVENTACTIONS文によって複数のトレース・ファイルを使用できる、EVENTACTIONS機能をサポートしています。
TRACEINITトレースの統計を0にリセットし、統計の累積をもう一度開始します。このオプションは、履歴でなく現在の処理動作をトレースするときに使用します。
例
SEND REPLICAT finance, HANDLECOLLISIONS
SEND REPLICAT finance, REPORT HANDLECOLLISIONS fin_*
SEND REPLICAT finance, GETLAG
SEND REPLICAT finance, INTEGRATEDPARAMS(parallelism 10)
次の例では、調整Replicatのスレッド3のラグを取得します。
SEND REPLICAT fin003, GETLAG
次の例では、調整Replicatのスレッド1のみを対象にトレースを有効化します。この場合、1つのスレッドのみトレースされるため、トレース・ファイルにはthreadID拡張子はありません。ファイル名はtrace.trcです。
SEND REPLICAT fin, TRACE THREADS(1) FILE ./dirrpt/trace.trc
次の例では、調整Replicatのスレッド1、2および3のトレースを有効化します。すべてのスレッドがアクティブであると想定した場合、トレースはファイルtrace001、trace002およびtrace003を生成します。
SEND REPLICAT fin TRACE THREADS(1-3) FILE ./dirrpt/trace.trc
次の例では、調整Replicatのスレッド1のみを対象にトレースを有効化します。コマンドはTHREAD句を使用せずにスレッド1に対し直接発行されたので、トレース・ファイルの名前はtrace (スレッドIDの接尾辞なし)になります。
SEND REPLICAT fin001 TRACE FILE ./dirrpt/trace.trc