この章の内容は次のとおりです。
Java配信を実行し、Javaアプリケーションを実行する場合に必要なのは、既存のOracle GoldenGate証跡ファイルのみです。証跡ファイルにメタデータ・レコードが含まれていない場合、証跡ファイルでの操作のスキーマを記述したソース定義ファイルも必要です。次の例では、TCUSTMERとTCUSTORDという単純な証跡を使用しています(Oracle GoldenGateソフトウェアのダウンロードに属するデモのSQLに対応しています)。
Replicatを使用してJava配信を実行するには、GGSCIからReplicatを起動するだけです。
GGSCI> START REPLICAT javarep GGSCI> INFO REPLICAT javarep
INFOコマンドでは、次のような情報が返されます。
REPLICAT JAVAREP Last Started 2015-09-10 17:25 Status RUNNINGCheckpoint Lag 00:00:00 (updated 00:00:00 ago)Log Read Checkpoint File ./dirdat/aa0000002015-09-10 17:50:41.000000 RBA 2702
一方、Extractプロセス(データ・ポンプ)を使用してJava配信を実行する場合は、GGSCIからExtractプロセスを起動します。
GGSCI> START EXTRACT javaue GGSCI> INFO EXTRACT javaue
ReplicatまたはExtractプロセスが実行され、ファイル・ハンドラが使用される(前述の例のとおり)と、Oracle GoldenGateインストール・ディレクトリ(ReplicatおよびExtract実行可能ファイルと同じディレクトリ)に、出力ファイルoutput.xmlが生成されます。
プロセスが起動しない場合や異常終了する場合、「エラーのチェック」を参照してください。
注意:
本番システムでチェックポイント・ファイルを変更したり削除したりしないでください。
Java配信セッションを使用するときには、2つのチェックポイント・ファイルが考えられます。Java配信のチェックポイントと、ReplicatまたはExtractプロセスのチェックポイントです。ReplicatまたはExtractプロセスでは、常にチェックポイント・ファイルが生成されます。Java配信のチェックポイント・ファイルはオプションで、アダプタ・プロパティ・ファイルの次のプロパティによって制御できます。
Java配信のチェックポイント生成をオン(デフォルト)にする手順:
goldengate.userexit.nocheckpoint=false
Java配信のチェックポイント生成をオフにする手順:
goldengate.userexit.nocheckpoint=true
Java配信のチェックポイント機能が有効な場合は、チェックポイント・ファイルが一意に命名されるように、次のプロパティを設定してください。
goldengate.userexit.chkptprefix=something unique
ベスト・プラクティスとして、Java配信がReplicatプロセスにホストされている場合は、Javaチェックポイント・ファイルを生成しないようにします。ベスト・プラクティスとして、Java配信がExractプロセスにホストされている場合は、Javaチェックポイント・ファイルを生成するようにします。次以降の項では、ReplicatおよびExtractでのチェックポイント処理について説明します。
2つのチェックポイント情報のうち、どちらの優先度が高いかを選択できるロジックがあるため、Replicatでのチェックポイント処理のほうが直接的です。ロジックは次のようになります。
ユーザーがADDまたはALTER REPLICATを手動で実行した後でJava配信を起動した場合は、Replicatプロセスによって保持されているチェックポイント情報が、出発点として使用されます。
手動の操作で事前にチェックポイントが変更されずにJava配信を起動した場合(たとえば、正常停止または異常終了)は、Javaモジュールによって保持されているチェックポイント情報が、出発点として使用されます。
たとえば、証跡の最初にReplicatを使用してJava配信を再起動する場合は、次のようになります。
Replicatを証跡データの先頭にリセットします。
GGSCI> ALTER REPLICAT JAVAREP, EXTSEQNO 0, EXTRBA 0
Replicatのリセット
GGSCI> START JAVAREP GGSCI> INFO JAVAREP REPLICAT JAVAREP Last Started 2015-09-10 17:25 Status RUNNING Checkpoint Lag 00:00:00 (updated 00:00:00 ago) Log Read Checkpoint File ./dirdat/aa000000 2015-09-10 17:50:41.000000 RBA 2702
Replicatプロセスのステータスが実行中になるには、数秒かかる場合があります。レポート・ファイルをチェックして、異常終了したか、起動中のままかを確認します。
GGSCI> VIEW REPORT JAVAREP
クラッシュまたは異常終了の後でJava配信を再起動した場合は、アプリケーションを再起動したとき、Javaモジュールによって保持されている最後の位置キーが使用されます。