6.7.1 HiRDBをリソースマネジャとして使用する場合
HiRDBをリソースマネジャとして使用する場合のオンラインバッチDBキュー表の作成方法,必要となる権限,および注意事項について説明します。
(1) オンラインバッチDBキュー表の作成
オンラインバッチDBキュー表の作成前に必要なRDエリアの作成については,マニュアル「HiRDB コマンドリファレンス」を参照してください。
オンラインバッチDBキュー表は,HiRDBのpddefコマンドで作成します。pddefコマンドでオンラインバッチDBキュー表を作成するために,TP1/EEでは次に示すサンプルファイルを提供しています。必要に応じて下線部分の設定値を変更してください。
CREATE FIX TABLE DBQ004WT ( LOTWKEY CHAR(28) NOT NULL, WC# INTEGER NOT NULL) IN DBQ001USER PCTFREE=(10,0); CREATE FIX TABLE DBQ004RD ( LOTRKEY CHAR(28) NOT NULL, RM# INTEGER NOT NULL, RS# INTEGER NOT NULL, PRIMARY CLUSTER KEY ( LOTRKEY ASC)) IN DBQ001USER PCTFREE=(10,0); CREATE TABLE DBQ004MG ( LOTNAME CHAR(24) NOT NULL, MSG# INTEGER NOT NULL, MSG BINARY(100) NOT NULL) IN DBQ001USER PCTFREE=(10,0) PRIMARY CLUSTER KEY(LOTNAME ASC,MSG# ASC);
下線部分の設定値について説明します。
- DBQ004
-
DBキュー名を指定してください。
- DBQ001USER
-
RDエリア名を指定してください。
- BINARY(100)
-
メッセージ長(単位:バイト)を,括弧の中に指定してください。
(2) ユーザに必要な権限
TP1/EEは,HiRDBのクライアント環境定義ファイル(環境変数設定ファイル)に設定するユーザ名で,オンラインバッチDBキュー表にアクセスします。HiRDBのクライアント環境定義ファイルの設定の詳細については,「6.8.2 HiRDB連携時の運用」を参照してください。
HiRDBのクライアント環境定義ファイル(環境変数設定ファイル)に設定するユーザ名には,次に示す権限を設定する必要があります。
-
CONNECT
-
RDAREA
オンラインバッチDBキュー表を作成するRDエリア名に対する利用権限です。
権限の設定方法の詳細については,マニュアル「HiRDB UAP開発ガイド」を参照してください。
(3) HiRDBをリソースマネジャとして使用する場合の注意事項
-
一度作成したライト管理表およびリード管理表は,TP1/EEで管理するため,変更や更新などをしないでください。
-
HiRDBクライアント環境定義のPDDBLOGオペランドにNO(ログレスモード指定)を指定している場合,DBキューの表全体にHiRDBが排他を取得するため,DBキューの性能が低下します。
-
DBキューを複数使用する場合,スキーマ構成を統一してください。
-
一つのHiRDBサーバに,同じ名称のオンラインバッチDBキュー表を複数作成することはできません。オンラインバッチ機能では,クラスタキーの構成チェックをするため,同じ名称のオンラインバッチDBキュー表が複数存在する場合,KFSB55670-Eメッセージを出力します。この場合,オンラインバッチ処理を開始できないことがあります。
-
オンラインバッチ機能のSQL実行時にエラーが発生した場合は,TP1/EEが出力するメッセージとHiRDBが出力するエラーログファイルを参照し,原因を取り除いてください。HiRDBのクライアント環境定義のPDUAPERLOGオペランドで,エラーログファイルのサイズには十分な値を指定してください。十分な値を指定しないと,エラーログファイルを取得できません。
HiRDBのエラーログファイルおよびPDUAPERLOGオペランドの詳細については,マニュアル「HiRDB UAP開発ガイド」の,クライアント環境定義の設定内容およびエラーログ機能に関する記述を参照してください。
-
オンラインバッチ機能のSQL実行時に複数のエラーが発生した場合,TP1/EEが出力するメッセージ中のSQLCODEには,最後にエラーが発生したSQL実行時のSQLCODEが表示されます。
-
HiRDBのシステム共通定義のpd_max_access_tablesオペランドには,次に示す計算式で算出した値以上の値を指定してください。
(DBキュー機能関連定義のdbqdef定義コマンドの指定数+DBキュー機能関連定義のdbqobsdef定義コマンドの指定数)×3
pd_max_access_tablesオペランドに指定した値が上記の計算式で算出した値に満たない場合,TP1/EEの再開始時にオンライン開始監視トランザクションがロールバックし,一部の起動中ロットの状態の回復処理に失敗した結果,トランザクション処理状態が中断中となるおそれがあります。