eedbqtblh
形式
DBキュー表を作成する場合と削除する場合で,指定できるオプションが異なります。
DBキュー表を作成する場合
eedbqtblh -q DBキュー名
〔-z 最大メッセージ長〕
〔-c 最大書き込みメッセージ数〕
{〔-b RDエリア名〕
|〔-m メッセージ表RDエリア名〕
〔-M メッセージ表INDEXのRDエリア名〕
〔-n 交替用メッセージ表RDエリア名〕
〔-N 交替用メッセージ表INDEXのRDエリア名〕
〔-p その他の表のRDエリア名〕}
〔-o 同期点行数〕
〔-a DBキューの属性〕DBキュー表を削除する場合
eedbqtblh -q DBキュー名
-r {nochk|chk}機能
HiRDB上にDBキュー表を作成または削除します。
オプション
●-q DBキュー名 〜〈1〜27文字の英大識別子〉
表を作成または削除するDBキュー名を,英字の大文字で指定します。小文字が含まれている場合は,エラーになります。
●-z 最大メッセージ長 〜〈符号なし整数〉((1000〜8388608))《33000》(単位:バイト)
DBキューで使用するメッセージの最大サイズを指定します。
データ連携支援の反映処理の書き込み先として使用する場合,反映処理するデータサイズがこの指定値を超過すると,データ連携支援を中断します。
●-c 最大書き込みメッセージ数 〜〈符号なし整数〉((1〜2147483647))《1000》
DBキューに書き込む最大メッセージ数を指定します。
-cオプションには,DBキュー機能関連定義のdbqdef定義コマンドの-lオプションの指定値と同じ値を指定してください。-cオプションの指定値がdbqdef定義コマンドの-lオプションの指定値と異なる場合は,eedbqtblhコマンドで指定したDBキューが,TP1/EE起動時に永久閉塞します。
●-b RDエリア名 〜〈1〜30文字の文字列〉
DBキュー表を格納するHiRDB上のRDエリア名を指定します。
このオプションを指定するとDBキューの各表とINDEXは,すべてこのオプションで指定したRDエリアに格納します。RDエリア名に空白を含む場合は引用符「"」で囲んでください。指定したRDエリア名は,引用符の有無に関係なく大文字と小文字が区別されます。
-b,-m,-M,-n,-N,-pオプションをすべて省略すると,格納するRDエリアをHiRDBが自動決定します。
HiRDBのユティリティの詳細についてはマニュアル「HiRDB コマンドリファレンス」を,HiRDBが決定するRDエリアについてはマニュアル「HiRDB SQLリファレンス」を参照してください。
●-m メッセージ表RDエリア名 〜〈1〜30文字の文字列〉
メッセージ表を格納するHiRDB上のRDエリアを指定します。RDエリアに空白を含む場合は引用符「"」で囲んでください。指定したRDエリア名は引用符の有無に関係なく大文字と小文字が区別されます。
このオプションと-bオプションを省略するとメッセージ表を格納するRDエリアをHiRDBが自動決定します。
●-M メッセージ表INDEXのRDエリア名 〜〈1〜30文字の文字列〉
メッセージ表のINDEXを格納するHiRDB上のRDエリアを指定します。
RDエリアに空白を含む場合は引用符「"」で囲んでください。指定したRDエリア名は引用符の有無に関係なく大文字と小文字が区別されます。
このオプションと-bオプションを省略するとメッセージ表のINDEXを格納するRDエリアをHiRDBが自動決定します。
●-n 交替用メッセージ表のRDエリア名 〜〈1〜30文字の文字列〉
交替用メッセージ表を格納するHiRDB上のRDエリアを指定します。RDエリアに空白を含む場合は引用符「"」で囲んでください。指定したRDエリア名は引用符の有無に関係なく大文字と小文字が区別されます。
このオプションと-bオプションを省略すると交替用メッセージ表を格納するRDエリアをHiRDBが自動決定します。
-aオプションで,交替用メッセージ表書き込み機能を使用する属性を付与しなかった場合にこのオプションを指定すると,このコマンドはKFSB95651-Eを出力して異常終了します。
●-N 交替用メッセージ表INDEXのRDエリア名 〜〈1〜30文字の文字列〉
メッセージ表INDEXを格納するHiRDB上のRDエリアを指定します。RDエリアに空白を含む場合は引用符「"」で囲んでください。指定したRDエリア名は引用符の有無に関係なく大文字と小文字が区別されます。
このオプションと-bオプションを省略すると交替用メッセージ表INDEXを格納するRDエリアをHiRDBが自動決定します。
-aオプションで,交替用メッセージ表書き込み機能を使用する属性を付与しなかった場合にこのオプションを指定すると,このコマンドはKFSB95651-Eを出力して異常終了します。
●-p その他の表のRDエリア名 〜〈1〜30文字の文字列〉
ライト管理表,リード管理表,およびデータ連携支援引き継ぎ情報表を格納するHiRDB上のRDエリアを指定します。RDエリアに空白を含む場合は引用符「"」で囲んでください。指定したRDエリア名は引用符の有無に関係なく大文字と小文字が区別されます。
このオプションと-bオプションを省略するとライト管理表,リード管理表,およびデータ連携支援引き継ぎ情報表を格納するRDエリアをHiRDBが自動決定します。
●-o 同期点行数 〜〈符号なし整数〉((1〜1000))《100》(単位:10000行)
トランザクションを決着させる区切りとなる,DBキュー表への追加行数を指定します。
DBキューのメッセージ管理表および交替用メッセージ表の作成時に,-cオプションに指定された最大書き込みメッセージ数分の行を追加します。1トランザクションで多数の行を追加すると,HiRDBのジャーナルログが満杯になるなどの現象が発生し,eedbqtblhコマンドが失敗するおそれがあります。そこで,ジャーナルログが満杯になるなどの現象を回避するために,DBキュー表に追加した行数が,-oオプションの指定値に達するごとに,トランザクションを決着させる必要があります。
●-a DBキューの属性 〜〈1文字の16進数〉((0,2,3,4,6,7,8,a,b,c,e,f))《0》
DBキューに付与する属性を指定します。複数の属性を付与する場合は,論理和で指定します。このオプションを省略すると,DBキューに属性を付与しません。
- 0
-
DBキューに属性を付与しません。
- 1
-
上書き抑止属性を付与します。この属性を付与すると,書き込むメッセージ数が最大メッセージ数を超えた場合に,読み出し済みのメッセージがあっても上書きしません。書き込むメッセージ数が最大メッセージ数を超えた場合,この属性を付与しないと読み出し済みのメッセージを上書きます。
上書き抑止属性を付与する場合は,通番初期化属性も付与してください。
- 2
-
通番初期化属性を付与します。この属性を付与すると,eedbqclrコマンド,eedbqclrhコマンド,およびee_dbq_clear関数を使用してDBキューの通番を初期化します。この属性を付与しないと通番は初期化できません。
- 4
-
データ連携支援書き込み属性を付与します。この属性を付与すると,TP1/FSPデータ連携支援の反映処理の書き込み先として使用できます。
- 8
-
交替用メッセージ表書き込み機能を使用する属性を付与します。この属性を付与すると,交替用メッセージ表を作成し,メッセージ表の書き込みで障害が発生した場合に交替用メッセージ表に書き込みます。
●-r {nochk|chk}
-qオプションで指定したDBキューが使用する表を削除します。
- nochk
-
DBキュー表を削除する前に,未読み出しメッセージの有無をチェックしません。
-qオプションで指定したDBキューの表を強制的に削除します。
- chk
-
DBキュー表を削除する前に,未読み出しメッセージの有無をチェックします。
-qオプションで指定したDBキューに未読み出しメッセージがある場合は,表を削除しません。
-rオプションを指定した場合にnochkまたはchkの指定を省略すると,KFSB95601-Eメッセージを出力します。-rオプション自体の指定を省略した場合,DBキュー表を作成します。
-rオプションは,-q以外のオプションと同時に指定することはできません。
出力メッセージ
|
メッセージID |
内容 |
出力先 |
|---|---|---|
|
KFSB95600-E |
メモリを確保できません。 |
標準エラー出力 |
|
KFSB95601-E |
コマンドの形式が不正です。 |
標準エラー出力 |
|
KFSB95602-E |
コマンドのオプションが不正です。 |
標準エラー出力 |
|
KFSB95603-E |
コマンドのオプションの組み合わせが不正です。 |
標準エラー出力 |
|
KFSB95613-E |
DBキュー表の作成または削除に失敗しました(SQLエラー)。 |
標準エラー出力 |
|
KFSB95614-E |
未読み出しメッセージがあるため,DBキュー表を削除できません。 |
標準エラー出力 |
|
KFSB95624-I |
ヘルプメッセージ |
標準出力 |
|
KFSB95648-I |
DBキュー表の作成または削除に成功しました。 |
標準出力 |
|
KFSB95649-W |
DBキュー表を一部削除できませんでした。 |
標準エラー出力 |
|
KFSB95651-E |
DBキューコマンドが失敗しました。 |
標準エラー出力 |
注意事項
-
DBキュー表に接続するシステム(TP1/EEなど)が起動中,開始中,または終了中にeedbqtblhコマンドを実行しないでください。DBキュー表に接続するシステム(TP1/EEなど)が起動中,開始中,または終了中にeedbqtblhコマンドを実行した場合,システムの動作は保証しません。
-
eedbqtblhコマンドは,HiRDBのクライアント環境定義ファイルの指定値によってHiRDBに接続します。したがって,HiRDBのクライアント環境定義ファイル(PDHOST,PDNAMEPORT,およびPDUSER)を設定しておく必要があります。HiRDBのクライアント環境定義ファイルについては,マニュアル「HiRDB UAP開発ガイド」を参照してください。
-
HiRDBのエラーログファイルを取得してください。HiRDBのエラーログファイルについては,マニュアル「HiRDB UAP開発ガイド」を参照してください。
-
HiRDBでエラーが発生した場合,TP1/EEのKFSB95613-EメッセージのSQLCODEに,HiRDBのリターンコード※が表示されます。このリターンコードに対応するメッセージIDを基に,X/OpenのTXインタフェースを使用しない場合に作成されるHiRDBのエラーログファイルを参照し,原因を取り除いてください。HiRDBのエラーログファイルについては,マニュアル「HiRDB UAP開発ガイド」を参照してください。
-
RDエリアは,あらかじめHiRDBのデータベース初期設定ユティリティ(pdinit)で作成,またはデータベース構成変更ユティリティ(pdmod)で追加しておく必要があります。HiRDBのユティリティについては,マニュアル「HiRDB コマンドリファレンス」を参照してください。
-
-bオプションにHiRDBのデータベース初期設定ユティリティ(pdinit)で作成,またはデータベース構成変更ユティリティ(pdmod)で追加したRDエリアのRDエリア名以外を指定した場合,コマンド失敗となります。また,KFSB95613-EメッセージのHiRDBリターンコード※の内容は「RDエリアがない」または「SQL文誤り」などの意味になります。HiRDBのユティリティについては,マニュアル「HiRDB コマンドリファレンス」を参照してください。
-
-oオプションに小さな値を指定した場合,ジャーナルログが満杯になる現象の発生頻度は低くなりますが,HiRDBの同期点処理が頻繁に発生するためオーバヘッドが大きくなります。-oオプションに大きな値を指定した場合,オーバヘッドは少なくなりますが,ジャーナルログが満杯になるなどの現象の発生頻度は高くなります。
-
-oオプションに最小値の1(10000行)を指定しても,HiRDBのジャーナルログが満杯や通信エラーなどになる場合は,HiRDBのジャーナルログのサイズなどを見直してください。HiRDBのジャーナルログについては,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。
-
DBキュー表を作成する場合で,eedbqtblhコマンドに指定したDBキューに対応するDBキュー表がすでに存在するときは,-rオプションを指定したeedbqtblhコマンドを実行していったん表を削除してください。表の削除後,eedbqtblhコマンドを実行して表を再作成してください。
-
eedbqtblhコマンドの実行中にHiRDBの障害などが発生した場合,作成途中のDBキュー表を削除してコマンド処理を終了します。表の削除は,HiRDBの障害などによって失敗することがあります。表の削除に失敗した場合は,HiRDBの障害などを取り除いたあとに,表の作成に失敗したDBキュー名を-qオプションに指定し,-rオプションを指定したeedbqtblhコマンドを実行していったん表を削除してください。表の削除後,eedbqtblhコマンドを実行して表を再作成してください。
-
-rオプションにchkを指定してコマンドが失敗し,かつKFSB95613-EメッセージのHiRDBリターンコード※の内容が「表がシステムにない」または「行がない」という意味の場合は,-rオプションにnochkを指定して再度削除してください。
-
-rオプションにnochkを指定した実行結果がKFSB95649-Wとなり,かつKFSB95613-EメッセージのHiRDBリターンコード※の内容が「表がシステムにない」という意味以外の場合は,エラー要因を取り除いた上で,コマンドを再実行してください。
- 注※
-
KFSB95613-EメッセージのSQLCODEに表示されたHiRDBのリターンコードの内容の検索方法については,マニュアル「TP1/Server Base Enterprise Option メッセージ」のKFSB95613-Eメッセージの対策を参照してください。