eedbqtblo
形式
DBキュー表を作成する場合と削除する場合で,指定できるオプションが異なります。
DBキュー表を作成する場合
eedbqtblo -q DBキュー名 〔-c 最大メッセージ数〕 〔-b 表領域名〕 〔-o 同期点行数〕 -u ユーザ名とパスワード 〔-n 接続識別子〕 〔-T〕
DBキュー表を削除する場合
eedbqtblo -q DBキュー名 -r {nochk|chk} -u ユーザ名とパスワード 〔-n 接続識別子〕 〔-T〕
機能
Oracle上にDBキュー表を作成または削除します。
オプション
●-q DBキュー名 〜〈1〜27文字の英大識別子〉
表を作成または削除するDBキュー名を,英字の大文字で指定します。小文字が含まれている場合は,エラーになります。
●-c 最大メッセージ数 〜〈符号なし整数〉((1〜2147483647))《1000》
DBキューに書き込む最大メッセージ数を指定します。
-cオプションには,DBキュー機能関連定義のdbqgrpdef定義コマンドの-lオプションの指定値と同じ値を指定してください。-cオプションの指定値がdbqdef定義コマンドの-lオプションの指定値と異なる場合は,eedbqtbloコマンドで指定したDBキューが,TP1/EE起動時に永久閉塞します。
●-b 表領域名 〜〈1〜30文字の文字列〉
DBキュー表を格納するOracle上の表領域名を指定します。
表領域名に空白を含む場合は,シングルクォーテーション「'」または引用符「"」で囲んでください。指定した表領域名は,シングルクォーテーションと引用符の有無に関係なく大文字と小文字が区別されます。
-bオプションを省略すると,デフォルトの表領域を使用します。デフォルトの表領域については,Oracleのマニュアルを参照してください。
●-o 同期点行数 〜〈符号なし整数〉((1〜1000))《100》(単位:10000件)
トランザクションを決着させる区切りとなる,DBキュー表への追加行数を指定します。
DBキューのメッセージ管理表の作成時に,-cオプションに指定された最大メッセージ数分の行を追加します。1トランザクションで多数の行を追加すると,OracleのUNDO表領域が不足したり,REDOログが満杯になったりするなどの現象が発生し,eedbqtbloコマンドが失敗するおそれがあります。そこで,これらの現象を回避するために,DBキュー表に追加した行数が,-oオプションの指定値に達するごとに,トランザクションを決着させる必要があります。
●-u ユーザ名とパスワード 〜〈1〜65文字の文字列〉
Oracleにログインするためのユーザ名とパスワードを指定します。
ユーザ名とパスワードの間はスラント「/」で区切ってください。ユーザ名およびパスワードに引用識別子(引用符「"」で囲んだ識別子)を使用する場合は,シングルクォーテーション「'」で囲んでください。詳細については,Oracleのマニュアルを参照してください。
●-n 接続識別子 〜〈1〜1024文字の文字列〉
Oracleに接続するための接続識別子を指定します。
接続識別子に空白を含む場合は,シングルクォーテーション「'」または引用符「"」で囲んでください。
接続識別子に引用符「"」を使用する場合は,シングルクォーテーション「'」で囲んでください。接続識別子にシングルクォーテーション「'」を使用する場合は,引用符「"」で囲んでください。
-nオプションを省略すると,デフォルトのデータベースと接続します。接続識別子の詳細については,Oracleのマニュアルを参照してください。
●-T
eedbqtbloコマンドの実行中にOracleのSQLトレース機能を使用します。
このオプションを使用するためには,-uオプションで指定したユーザにALTER SESSIONシステム権限が必要です。
-Tオプションを省略すると,Oracle初期化パラメタSQL_TRACEの値によってSQLトレース機能を使用するかどうかが決まります。
SQLトレース機能,Oracle初期化パラメタ,ALTER SESSIONシステム権限の詳細については,Oracleのマニュアルを参照してください。
●-r {nochk|chk}
-qオプションで指定したDBキューが使用する表を削除します。
- nochk
-
DBキュー表を削除する前に,未読み出しメッセージの有無をチェックしません。
-qオプションで指定したDBキューの表を強制的に削除します。
- chk
-
DBキュー表を削除する前に,未読み出しメッセージの有無をチェックします。
-qオプションで指定したDBキューに未読み出しメッセージがある場合は,表を削除しません。
-rオプションを指定した場合にnochkまたはchkの指定を省略すると,KFSB95601-Eメッセージを出力します。-rオプション自体の指定を省略した場合,DBキュー表を作成します。
出力メッセージ
メッセージID |
内容 |
出力先 |
---|---|---|
KFSB95600-E |
メモリを確保できません。 |
標準エラー出力 |
KFSB95601-E |
コマンドの形式が不正です。 |
標準エラー出力 |
KFSB95602-E |
コマンドのオプションが不正です。 |
標準エラー出力 |
KFSB95603-E |
コマンドのオプションの組み合わせが不正です。 |
標準エラー出力 |
KFSB95614-E |
未読み出しメッセージがあるため,DBキュー表を削除できません。 |
標準エラー出力 |
KFSB95616-E |
コマンド処理でエラーが発生しました。 |
標準エラー出力 |
KFSB95625-I |
ヘルプメッセージ |
標準出力 |
KFSB95648-I |
DBキュー表の作成または削除に成功しました。 |
標準出力 |
KFSB95649-W |
DBキュー表を一部削除できませんでした。 |
標準エラー出力 |
注意事項
-
DBキュー表に接続するシステム(TP1/EEなど)が起動中,開始中,または終了中にeedbqtbloコマンドを実行しないでください。DBキュー表に接続するシステム(TP1/EEなど)が起動中,開始中,または終了中にeedbqtbloコマンドを実行した場合,システムの動作は保証しません。
-
Oracleの環境変数ORACLE_HOMEを定義してください。また,LIBPATH(Linuxの場合はLD_LIBRARY_PATH)にOracleのライブラリパスを定義してください。指定する値については,Oracleのマニュアルを参照してください。
-
-oオプションに小さな値を指定した場合,OracleのUNDO表領域が不足したり,REDOログが満杯になったりする現象の発生頻度は低くなりますが,Oracleの同期点処理が頻繁に発生するためオーバヘッドが大きくなります。-oオプションに大きな値を指定した場合,オーバヘッドは少なくなりますが,OracleのUNDO表領域が不足したり,REDOログが満杯になったりするなどの現象の発生頻度は高くなります。
-
-oオプションに最小値の1(10000行)を指定しても,OracleのUNDO表領域が不足したり,REDOログが満杯になったりする場合は,OracleのUNDO表領域のサイズおよびREDOログのサイズを増やしてください。
-
DBキュー表を作成する場合で,eedbqtbloコマンドに指定するDBキューに対応するDBキュー表がすでに存在するときは,-rオプションを指定したeedbqtbloコマンドを実行していったん表を削除してください。表の削除後,eedbqtbloコマンドを実行して表を再作成してください。
-
eedbqtbloコマンドの実行中にOracleの障害などが発生した場合に,DBキュー表の作成が途中で失敗したときは,eedbqtbloコマンドがDBキュー表を削除してコマンド処理を終了します。表の削除は,Oracleの障害などによって失敗することがあります。表の削除に失敗した場合は,Oracleの障害などを取り除いたあとに,表の作成に失敗したDBキュー名を-qオプションに指定し,-rオプションにnochkを指定したeedbqtbloコマンドを実行していったん表を削除してください。表の削除後,eedbqtbloコマンドを実行して表を再作成してください。
-
-rオプションにchkを指定してコマンドが失敗し,かつKFSB95616-EメッセージのOracleメッセージの内容が「表またはビューが存在しない」または「データが見つからない」という意味の場合は,-rオプションにnochkを指定して再度削除してください。
-
-rオプションにnochkを指定した実行結果がKFSB95649-Wとなり,かつKFSB95616-EメッセージのOracleメッセージの内容が「表またはビューが存在しない」という意味以外の場合は,エラー要因を取り除いた上で,コマンドを再実行してください。