2.87.1 pdrdreflsの形式と規則
(1) 機能
関連するRDエリアの情報を表示します。
pdrdreflsコマンドには,次の二つの機能があります。
-
関連するRDエリアの情報の表示
-
RDエリアの関連性のチェック
(2) 実行者
HiRDB管理者が実行できます。
(3) 形式
(a) 関連するRDエリアの情報の表示
pdrdrefls 〔-k dsp〕 -e org {-r RDエリア名〔,RDエリア名〕…|-r ALL |-t 〔認可識別子.〕表識別子} 〔-s サーバ名〔,サーバ名〕…〕 〔-l 〔-d 区切り文字〕〕 〔-a〕 〔-c 制約種別〕
(b) RDエリアの関連性のチェック
pdrdrefls -k chk -e org {-r RDエリア名〔,RDエリア名〕…|-r ALL} 〔-s サーバ名〔,サーバ名〕…〕 〔-c 制約種別〕
(4) オプション
(a) -k {dsp|chk}
実行するpdrdreflsコマンドの機能を指定します。
- dsp:
-
表を格納するすべてのRDエリア,及びRDエリア内にある資源(表,インデクス,及びLOB列)について,関連のあるRDエリアの情報を表示します。
- chk:
-
RDエリアの関連性をチェックします。関連するRDエリアが不足している場合,不足しているRDエリアの情報をメッセージで出力します。
(b) -e org
固定のオプションです。
(c) -r RDエリア名〔,RDエリア名〕… 〜<識別子>((1〜30))
処理対象のRDエリアの名称を指定します。ただし,指定できるのはユーザ用RDエリア(一時表用RDエリアを除く)及びユーザLOB用RDエリアです。
RDエリアを指定する場合の規則については,「運用コマンド,ユティリティでのRDエリアの指定」を参照してください。
(d) -r ALL
すべてのユーザ用RDエリア(一時表用RDエリアを除く),及びユーザLOB用RDエリアを処理対象とする場合に指定します。
(e) -t 〔認可識別子.〕表識別子 〜<識別子>((認可識別子:1〜30,表識別子:1〜30))
処理対象の表の名称を指定します。
認可識別子を省略した場合,pdrdreflsコマンド実行時の環境変数PDUSERの認可識別子が仮定されます。環境変数PDUSERを設定していない場合,及び環境変数PDUSERの認可識別子とパスワードの両方に簡易認証キーワードを指定している※場合,ログインウィンドウのユーザ名が仮定されます。-tオプションの指定と環境変数PDUSERの設定によって有効となる認可識別子について次に示します。
-tオプションの認可識別子 |
環境変数PDUSERの設定内容 |
有効な認可識別子 |
---|---|---|
指定あり |
− |
-tオプションに指定された認可識別子 |
省略 |
認可識別子[/パスワード] |
環境変数PDUSERに指定された認可識別子 |
設定なし |
ログインウィンドウのユーザ名 |
|
認可識別子とパスワードの両方に簡易認証キーワードを指定 |
認可識別子及び表識別子を「\""」と「"\"」で囲んだ場合は,英字の大文字と小文字が区別されますが,「\""」と「"\"」で囲まない場合はすべて大文字として扱われます。
(f) -s サーバ名〔,サーバ名〕… 〜<識別子>((1〜8))
処理対象のサーバの名称を指定します。指定できるサーバの数は,最大128個です。
-k dspの場合,関連するRDエリアのうち,指定したサーバに定義されている情報だけを表示します。
-k chkの場合,-rオプションに指定したすべてのRDエリアが,指定したサーバに定義されているかどうかをチェックします。-rオプションに指定したすべてのRDエリアがその条件を満たしていない場合,そのRDエリア名をメッセージで出力し,エラー終了します。
指定するサーバ名は,pddbstのRDエリア単位の状態解析(論理的解析),又は表単位の状態解析で確認できます。
(g) -l
出力情報の各情報を改行しないで表示する場合に指定します。
(h) -d 区切り文字
-lオプション指定時の各情報の区切り文字を,半角1文字で指定します。
省略した場合は空白が仮定されます。
区切り文字としてアポストロフィ(')や引用符(")などの特殊文字を指定する場合,「\'」,「\"」と指定してください。エスケープ文字を区切り文字として指定する場合は,「\\」と指定してください。
(i) -a
すべての関連情報(サーバ名,RDエリア名,RDエリア種別,及び資源情報)を表示する場合に指定します。省略した場合,RDエリア名だけが表示されます。
(j) -c 制約種別
制約定義の「関連するRDエリアの情報」を表示又はチェックする場合に指定します。
- ref:
-
参照制約の「関連するRDエリアの情報」を表示又はチェックします。参照制約の運用方法については,マニュアル「HiRDB Version 9 システム導入・設計ガイド」を参照してください。
(5) 規則
-
pdrdreflsコマンドは,HiRDBが稼働中のときだけ実行できます。
-
pdrdreflsコマンドは,シングルサーバ又はシステムマネジャがあるサーバマシンで実行してください。
(6) 注意事項
-
pdrdreflsコマンドの結果は,コマンド実行時のリターンコードで確認できます。リターンコードが0の場合は正常終了,4の場合は警告終了(解析対象の資源がありません),8の場合は異常終了です。
-
pdrdreflsコマンドの処理対象となるRDエリアに対して,表,インデクスの追加,削除,及び定義変更はしないでください。追加,削除,及び定義変更をした場合は,結果不正や異常終了となることがあります。
(7) 出力形式
〔説明〕
- サーバ名(最大8バイト):
-
関連するRDエリアがあるサーバの名称です。
- RDエリア名(最大32バイト):
-
関連するRDエリアの名称です。RDエリア名は引用符(")で囲んで表示されます。
- RDエリア種別(最大8バイト):
-
RDエリアの種別です。
USER:ユーザ用RDエリア
USER_LOB:ユーザLOB用RDエリア
- 資源種別(3バイト):
-
資源の種別です。
TBL:表
IDX:インデクス
LOB:LOB列
- 資源名(最大65バイト):
-
該当するRDエリアに格納されている資源の名称です。資源名は引用符で囲んで表示されます。
資源種別がTBLの場合:認可識別子.表識別子
資源種別がIDXの場合:認可識別子.インデクス識別子
資源種別がLOBの場合:LOB列名,又はLOB属性の抽象データ型列名
- 関連資源名(最大67バイト):
-
資源種別がIDX又はLOBの資源の関連資源名です。関連資源名は(認可識別子.表識別子)の形式で表示され,引用符で囲まれます。
- 制約による関連資源名(最大69バイト):
-
資源種別がTBLの資源に対して,制約定義によって関連する資源の名称です。この情報は,-cオプションを指定した場合だけ表示されます。-c refを指定した場合は,披参照表名称が表示されます。制約による関連資源名は,引用符(")で囲んで表示されます。
(8) 使用例
関連するRDエリアの情報を表示します。なお,-dオプションを省略しています。また,実行結果の△は1バイトの空白を表します。
-
RDエリアの構成
-
実行結果
-
pdrdrefls -e org -r RD01 -aの場合
SERVER NAME : BES1 RDAREA NAME : "RD01" AREA TYPE : USER RESOURCE : TBL : "user1"."TBL1" "user2"."TBL2" "user1"."TBL3" IDX : "user1"."IDX1" ("user1"."TBL1") "user1"."IDX3" ("user1"."TBL3") RDAREA NAME : "RD02" AREA TYPE : USER RESOURCE : TBL : "user2"."TBL2" "user1"."TBL3" IDX : "user2"."IDX2" ("user2"."TBL2") "user1"."IDX3" ("user1"."TBL3") RDAREA NAME : "RD04" ┐ AREA TYPE : USER │ RESOURCE : TBL : "user1"."TBL4" ├ ※ -><"user1"."TBL1"> │ IDX : "user1"."IDX4" │ ("user1"."TBL4") ┘ RDAREA NAME : "LOB01" AREA TYPE : USER_LOB RESOURCE : LOB : "COL1" ("user1"."TBL1")
注※ -c refを指定した場合だけ表示されます。
-
pdrdrefls -e org -r RD01の場合
RDAREA NAME : "RD01" RDAREA NAME : "RD02" RDAREA NAME : "RD04" ※ RDAREA NAME : "LOB01"
注※ -c refを指定した場合だけ表示されます。
-
pdrdrefls -e org -r RD01 -l -aの場合
BES1△"RD01"△USER△TBL△"user1"."TBL1" BES1△"RD01"△USER△TBL△"user2"."TBL2" BES1△"RD01"△USER△TBL△"user1"."TBL3" BES1△"RD01"△USER△IDX△"user1"."IDX1"△"user1"."TBL1" BES1△"RD01"△USER△IDX△"user1"."IDX3"△"user1"."TBL3" BES1△"LOB01"△USER_LOB△LOB△"COL1"△"user1"."TBL1" BES1△"RD02"△USER△TBL△"user2"."TBL2" BES1△"RD02"△USER△TBL△"user1"."TBL3" BES1△"RD02"△USER△IDX△"user2"."IDX2"△"user2"."TBL2" BES1△"RD02"△USER△IDX△"user1"."IDX3"△"user1"."TBL3" BES1△"RD04"△USER△TBL△"user1"."TBL4"△ "user1"."TBL1" ※ BES1△"RD04"△USER△IDX△"user1"."IDX4"△ "user1"."TBL4" ※
注※ -c refを指定した場合だけ表示されます。
-
pdrdrefls -e org -r RD01 -lの場合
"RD01"△"RD02"△"LOB01"△"RD04" ※
注※ -c refを指定した場合だけ表示されます。
-
pdrdrefls -e org -r RD02 -aの場合
SERVER NAME : BES1 RDAREA NAME : "RD02" AREA TYPE : USER RESOURCE : TBL : "user2"."TBL2" "user1"."TBL3" IDX : "user2"."IDX2" ("user2"."TBL2") "user1"."IDX3" ("user1"."TBL3") RDAREA NAME : "RD01" AREA TYPE : USER RESOURCE : TBL : "user1"."TBL1" "user2"."TBL2" "user1"."TBL3" IDX : "user1"."IDX1" ("user1"."TBL1") "user1"."IDX3" ("user1"."TBL3") RDAREA NAME : "RD04" ┐ AREA TYPE : USER │ RESOURCE : TBL : "user1"."TBL4" ├ ※ -><"user1"."TBL1"> │ IDX : "user1"."IDX4" │ ("user1"."TBL4") ┘ RDAREA NAME : "LOB01" AREA TYPE : USER_LOB RESOURCE : LOB : "COL1" ("user1"."TBL1")
注※ -c refを指定した場合だけ表示されます。
-
pdrdrefls -e org -r RD03 -aの場合
SERVER NAME : BES2 RDAREA NAME : "RD03" AREA TYPE : USER RESOURCE : TBL : "user1"."TBL3 IDX : "user1"."IDX3" ("user1"."TBL3")
-
pdrdrefls -e org -r RD04 -aの場合
SERVER NAME : BES1 RDAREA NAME : "RD04" AREA TYPE : USER RESOURCE : TBL : "user1"."TBL4" -><"user1"."TBL1"> ※ IDX : "user1"."IDX4" ("user1"."TBL4") RDAREA NAME : "RD01" ┐ AREA TYPE : USER │ RESOURCE : TBL : "user1"."TBL1" │ "user2"."TBL2" │ "user1"."TBL3" │ IDX : "user1"."IDX1" │ ("user1"."TBL1") │ "user1"."IDX3" │ ("user1"."TBL3") │ RDAREA NAME : "RD02" ├ ※ AREA TYPE : USER │ RESOURCE : TBL : "user2"."TBL2" │ "user1"."TBL3" │ IDX : "user2"."IDX2" │ ("user2"."TBL2") │ "user1"."IDX3" │ ("user1"."TBL3") │ RDAREA NAME : "LOB01" │ AREA TYPE : USER_LOB │ RESOURCE : LOB : "COL1" │ ("user1"."TBL1") ┘
注※ -c refを指定した場合だけ表示されます。