反映トランザクション同期機能を使用する場合,抽出側Datareplicatorの各バックエンドサーバが送信するトランザクションを一つの反映側Datareplicatorで受信するために,対応する反映側Datareplicatorのデータ連動識別子を同期反映グループとしてまとめておく必要があります。
同期反映グループを起動するには,必要なオペランドを正しく指定して,次のどちらかのコマンドを入力します。
なお,2.は同期管理プロセスが停止中の場合にだけ実行できます。同期管理プロセスが稼働中の場合に実行すると,KFRB00161-Eメッセージが出力されて,コマンドは無視されます。プロセスの稼働状況は,hdsstateコマンドによって確認できます。
同期反映グループを解除した状態で起動するには,次のコマンドを入力します。
hdsstart -c 同期反映グループ名
一度このコマンドを入力すると,次回以降1.又は2.のコマンドを入力しても,同期反映グループを解除した状態で起動します。再度同期反映グループを有効にするためには,反映側Datareplicatorを初期化する必要があります。
同期反映グループを停止するには,次のどちらかのコマンドを入力します。
コマンドの指定ごとの停止方法を次の表に示します。
表3-20 同期反映グループの停止方法
コマンドの指定 | 停止方法 |
---|---|
hdsstop | 受信プロセスが停止していて,かつ反映情報キューファイルの終端を検知している。反映情報キューファイルの終端検知時にトランザクション実行中であった場合は,そのトランザクションをロールバックして終了する。 |
hdsstop -t event | |
hdsstop -q 待ち時間 | |
hdsstop -t immediate | コマンドを受け付けた後の,最初の同期イベントでの同期完了,又は反映情報キューファイルの終端を検知している。反映情報キューファイルの終端検知時にトランザクション実行中であった場合は,そのトランザクションをロールバックして終了する。 |
hdsrfctl -g 同期反映グループ名 -m immediate | |
hdsstop -t force | コマンドを受け付けた時点で,実行中の反映トランザクションをロールバックして終了する。反映トランザクションが発生していない場合はそのまま終了する。 |
同期反映グループに関する留意点を次に示します。
同期反映グループに指定したデータ連動識別子では,次の表に示すオペランドの指定に制限があります。
表3-21 同期反映グループに指定したデータ連動識別子の制限
定義ファイル名 | オペランド | 備考 |
---|---|---|
反映システム定義 | commit_wait_time | 無視されます。 |
commitment_method | fxa_sqleを指定してください。fxa_sqle以外を指定すると,KFRB00847-Eメッセージが出力されてエラーになります。 | |
discintvl | 無視されます。 | |
反映環境定義 | eventtrn | 無視されます。 |
eventtbl | 無視されます。 | |
eventretrn | 無視されます。 | |
eventretbl | 無視されます。 | |
eventspd | 無視されます。 | |
eventcntreset | 無視されます。 | |
cmtintvl | 無視されます。 | |
trncmtintvl | 無視されます。 | |
tblcmtintvl | 無視されます。 | |
reflect_trn_max_sqlnum | 無視されます。 | |
startmode※ | trnを指定してください。trn以外を指定すると,KFRB00847-Eメッセージが出力されてエラーになります。 | |
ujcodekind | rcvを指定してください。rcv以外を指定すると,KFRB00847-Eメッセージが出力されてエラーになります。 | |
反映定義 | load文 | by 'uoc名'を指定できません。by 'uoc名'を指定すると,KFRB03315-Eメッセージが出力されてエラーになります。 |
なお,同期反映グループを解除して起動すると,無視されていたパラメタも有効になるため,指定値は検討しておく必要があります。
同期反映グループに対するイベントのうち,同期イベント以外は機能しなくなります。同期イベント以外を使用しても,KFRB03316-Wメッセージの出力後,無視されます。
接続単位終了イベントについても,-1イベントとしては扱われないで,無視されます。
同期反映グループを構成するデータ連動識別子の一部でエラーが発生した場合,同期反映グループを構成するすべてのデータ連動識別子がエラー停止します。
同期反映グループ内でエラーが発生すると,同期管理プロセスが停止して,同期管理プロセスの停止を検知した各反映プロセスがKFRB03311-Eメッセージを出力します。
同期管理プロセスの停止を検知するタイミングは次のどちらかです。
hdsstateコマンドによってデータ連動識別子ごとに表示されるトランザクションの件数は,トランザクションブランチの件数です。抽出側で発生した,実際のグローバルトランザクションの件数とは一致しません。