ページの先頭行へ戻る
Symfoware Server V10.0.0 コマンドリファレンス

2.20 rdbexdsi

名前

rdbexdsi -- DSIをSQL処理の対象から除外または除外を解除

形式

rdbexdsi -m {  on |  off }
        [ -u ユーザID ]
        { -i データベース名.DSI名 |  -f ファイル名 }

形式 (情報を表示する場合1)

rdbexdsi -mp
        [ -u ユーザID ]

形式 (情報を表示する場合2)

rdbexdsi -mc
        [ -u ユーザID ]

形式 (切離し完了を待ち合わせる場合)

rdbexdsi -mw
        [ -u ユーザID ]
        [ -s 時間間隔 ]

機能説明

SQLが処理対象とするDSIを動的に除外したり、除外したDSIを動的に解除します。
DSIの除外または除外の解除は、アプリケーションのトランザクションの切れ目に有効となります。

オプション

-mon

DSI名で指定するDSIを、アプリケーションの処理対象外とします。

-moff

DSI名で指定するDSIを、アプリケーションの処理対象とします。

-mp

-monオプションでアプリケーションの処理対象外としたDSIの情報を出力します。

-mc

-monオプションでアプリケーションの処理対象外としたDSIが、すべてのトランザクションで処理対象外になったかどうかを確認するための情報を出力します。

-mw

-monオプションでアプリケーションの処理対象外としたDSIが、すべてのトランザクションで処理対象外になったかどうかを一定時間ごとに調べ、すべてのトランザクションで処理対象外になった場合は処理を終了します。

-u ユーザID

Symfoware/RDBにコネクションを接続しているユーザのユーザIDを指定します。
このユーザIDでコネクションを接続しているアプリケーションに対して、本コマンドの処理が有効となります。
本オプションを省略した場合は、すべてのユーザを対象とします。

-i データベース名.DSI名

SQL処理の対象から除外または除外を解除するDSI名を指定します。
DSI名で指定するDSIは、表のDSIでなければなりません。
インデックスのDSIを指定した場合には、エラーメッセージが表示されます。
-monオプションですでに除外となっているDSI名を指定した場合には、エラーメッセージが表示されます。
-moffオプションで指定するDSIは、-monオプションによりアプリケーションの処理対象外となっていなければなりません。

-s 時間間隔

-mwオプションにより切離し完了を確認する場合に、-monオプションでSQL処理の対象から除外したDSIが、すべてのアプリケーションで処理対象外になったかどうかをチェックする時間間隔を秒単位で指定します。
本コマンド投入時のチェックですべてのアプリケーションで処理対象外になっていなければ、指定した時間が経過した時点で再度チェックを行います。
その後、すべてのアプリケーションで処理対象外になるまで、指定した時間間隔ごとにチェックを行います。
すべてのトランザクションで処理対象外になっていれば本コマンドは終了します。
本オプションが省略された場合は5が指定されたものとみなします。
指定できる値は1から99までの整数です。

-f ファイル名

複数のDSI名を記述したファイル名を絶対パス名で指定します。
ファイル名に指定できる長さは、OSで定義される最大バイト数までです。
以下に、SQL処理の対象から除外または除外を解除するDSIを定義するファイル内の形式を説明します。

# コメント
データベース名.DSI名

先頭に“#”がある行は、コメント行として読みとばされます。
このとき“#”は必ず行の先頭に記述する必要があります。
ファイル内には空行を含むことができます。
各行の処理中に、指定形式の誤りなど、継続可能なエラーが検出された場合は、メッセージが表示され、次の行から処理が継続されます。
領域不足など、継続不可能なエラーが検出された場合には、その時点で処理が中止されます。
この場合、エラー検出までに行われた処理は有効となります。

データベース名.DSI名

SQL処理の対象から除外または除外を解除するDSI名を指定します。
DSI名で指定するDSIは、表のDSIでなければなりません。
インデックスのDSIを指定した場合には、エラーメッセージが表示されます。
-monオプションですでに除外となっているDSI名を指定した場合には、エラーメッセージが表示されます。
-moffオプションで指定するDSIは、-monオプションによりアプリケーションの処理対象外となっていなければなりません。

使用例

例1

在庫表DSIを、SQL処理の対象から除外します。

rdbexdsi -mon -u i4874 -i 在庫管理DB.在庫表DSI
例2

在庫表DSIを、すべてのユーザのSQL処理の対象から除外します。

rdbexdsi -mon -i 在庫管理DB.在庫表DSI

終了ステータス

以下の終了ステータスが返されます。

0 : 正常終了
0以外 : 異常終了

注意

表示項目の見出しと意味

DSI

-monオプションによりアプリケーションの処理対象外としたDSI名(データベース名.DSI名)

Name

モジュール名

  • RDB構成パラメタファイルのRDBCLIENTINFにADDRESSを指定した場合、または省略した場合

    システム内通信のアプリケーション :アプリケーションロードモジュール名/コネクション名
    トランザクションモニタ配下のアプリケーション :データベース名/コネクション名
    RDB2_TCP接続のアプリケーション :接続端末のIPアドレス/コネクション名
    RDA-SV接続のアプリケーション :接続端末のIPアドレス/コネクション名

  • RDB構成パラメタファイルのRDBCLIENTINFにNAMEを指定した場合

    システム内通信のアプリケーション :アプリケーションロードモジュール名/コネクション名
    トランザクションモニタ配下のアプリケーション :データベース名/コネクション名
    RDB2_TCP接続のアプリケーション :接続端末のホスト名/コネクション名
    RDA-SV接続のアプリケーション :接続端末のホスト名/コネクション名

Pid

プロセスID

Status

切離し状態
Accept : 切離しは有効
Non-Accept : 切離しは有効ではない

User

ユーザID
すべてのユーザを対象にDSIが除外された場合は、“[ALL USER]”が表示されます。
(-mpオプションを指定した場合のみ表示)