Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 TP1/Financial Service Platform 使用の手引


2.4.9 注意事項

〈この項の構成〉

(1) 運用上の注意事項

(a) 常駐SDBディレクトリ情報正副切り替え時のSDBデータベースアクセス禁止

常駐SDBディレクトリ情報の常駐切り替え(pdsdbarcコマンドを-wと-qオプション指定で実行)中に,当該HiRDB上でSDBデータベースアクセスを行うと,DB破壊やSQLエラーのおそれがあります。そのため,オン中SDBデータベース定義変更の対象外のSDB表にアクセスするTP1/EEやオフラインバッチであっても,常駐SDBディレクトリ情報の常駐切り替え時は,トランザクション静止化などによって一時的にトランザクション実行を抑止する運用が必要となります。

(b) 同一SDB表にアクセスする全TP1/EEは同一SDBデータベース定義情報を使用

複数TP1/EEが,同一SDB表に対して異なるSDBデータベース定義情報を使用してアクセスすると,古いSDBデータベース定義を使用しているTP1/EEでSQLエラーが発生するおそれがあります。そのため,同一SDB表にアクセスするTP1/EEは,すべて同一のSDBデータベース定義情報を使用する必要があります。

(2) UAPの注意事項

オン中SDBデータベース定義変更機能を使用する場合のUAPの注意事項を次に示します。

(a) ユーザ公開テーブルの再取得

インタフェースエリアテンプレートなどのユーザ公開テーブルは,正副切り替え時に使用不可となります。そのため,ユーザ公開テーブルの内容またはユーザ公開テーブルへのアドレスを保持している場合,正副切り替え後,ee_sdh_init()/CBLEESDH('INIT')を発行し,ユーザ公開テーブルの再取得を行う必要があります。古いユーザ公開テーブルをそのまま使用した場合,エラーとなります。

(b) レコード用エントリのオフセット変更

FMB用インタフェースエリアのレコード用エントリの並びは,木構造の一筆書き順であり,新規レコード追加位置によっては,オン中SDBデータベース定義変更後に既存レコードのエントリオフセットが変更となります。そのため,アクセスするレコードのエントリオフセットは,ハードコーディングではなく,レコード名をキーにエントリを検索して求めることを推奨します。

次の例では,レコード「RECORD_C」のエントリが3番目にあることを前提にコーディングした場合,オン中SDBデータベース定義変更後はレコード「RECORD_D」にアクセスします。

図2‒29 レコード用エントリのオフセット

[図データ]