11.8.1 規則
- 〈この項の構成〉
(1) pdsdbdefコマンドの実行条件
-
pdsdbdefコマンドは,HiRDBが稼働中のときだけ実行できます。
-
pdsdbdefコマンドは,システムマネジャがあるサーバマシンで実行してください。
-
pdsdbdefコマンド実行時には,次のサーバが稼働している必要があります。
-
システムマネジャ
-
1つ以上のフロントエンドサーバ
-
ディクショナリサーバ
-
SDBデータベースを定義するRDエリアを管理しているバックエンドサーバ
-
(2) コマンドの実行者
HiRDB管理者がpdsdbdefコマンドを実行できます。
(3) pdsdbdefコマンドの実行可否
pdsdbdefコマンドを実行する前に,RDエリアの初期設定が完了している必要があります。また,次に示すRDエリアが閉塞なしオープン状態である必要があります。
-
マスタディレクトリ用RDエリア
-
データディクショナリ用RDエリア
-
データディレクトリ用RDエリア
-
SDBデータベース格納定義のWITHIN句に指定するRDエリア
RDエリアの状態によるpdsdbdefコマンドの実行可否については,「付録I.1 RDエリアの状態によるユティリティの実行可否」を参照してください。
(4) pdsdbdefコマンドの最大同時実行数
pdsdbdefコマンドの最大同時実行数は,システム共通定義のpd_utl_exec_modeオペランドの指定値に関係なく1です。
- 注意事項
-
HiRDB/SDデータベース作成ユティリティ,HiRDB/SDデータベース再編成ユティリティやほかのUAPと同時に実行することはできません。ほかのユティリティやUAPが終了してからpdsdbdefコマンドを実行してください。
(5) 環境変数の設定
-
環境変数LANGを設定してください。OSがサポートしていない文字コードを使用する場合,クライアント環境定義のPDLANGオペランドを設定する必要があります。
環境変数LANG,およびクライアント環境定義のPDLANGオペランドの設定については,マニュアル「HiRDB UAP開発ガイド」を参照してください。
-
環境変数LANGまたはクライアント環境定義のPDLANGオペランドで,使用する文字コードにUTF-8を指定した場合,pdsdbdefコマンドの入力ファイルにBOM付きファイルを使用できます。なお,pdsdbdefコマンドの実行結果として出力されるファイルにはBOMは付きません。
(6) クライアント環境定義の設定
pdsdbdefコマンドを実行する場合,クライアント環境定義のPDUSERオペランドに,スキーマ所有者の認可識別子を指定してください。
このとき,OSログインユーザの簡易認証機能は使用できません。
(7) pdsdbdefコマンドで使用する文字コード
SDB制御文やSDB定義文に記述する文字コードは,pdsetupコマンドで指定する文字コードと同じ文字コードにしてください。
(8) スキーマとSDBデータベース定義の関係
pdsdbdefコマンドを実行する前に,クライアント環境定義のPDUSERオペランドに指定した認可識別子に対して,スキーマを定義しておく必要があります。
HiRDB/SDでは,1つのSDBデータベース定義内に複数のレコード型を定義できます。HiRDB/SDでは,「スキーマ名(=認可識別子)+レコード型」として,アクセスするレコード型を一意に識別するため,レコード型の定義時には,次の点に注意してください。
-
1スキーマ内のすべてのSDBデータベース定義で,レコード型名を重複させることはできません。なお,1スキーマ内で,表とレコード型の両方を定義できますが,表名とレコード型名を重複させることもできません。
-
1スキーマ内のすべてのSDBデータベース格納定義で,インデクス名を重複させることはできません。また,1スキーマ内で,表とレコード型の両方にインデクスを定義できますが,表に定義したインデクス名とSDBデータベース格納定義で定義したインデクス名を重複させることもできません。
-
レコード型名やインデクス名を重複させる場合は,別スキーマとしてください。
(9) SDBデータベース格納定義で指定できるRDエリア数
1つのSDBデータベース格納定義で指定できるRDエリア名の数は最大32,766個です(RDエリア名が重複する場合は1つと数えます)。
(10) pdsdbdefコマンドで使用するファイルおよびディレクトリ
pdsdbdefコマンドで使用するファイル,およびファイルを出力するディレクトリは,事前に作成しておいてください。また,パーミッションを次のように設定してください。
-
SDB制御文ファイル:644
-
SDB定義文ファイル:644
-
実行結果ファイルおよび実行結果ファイルの出力先ディレクトリ:666
-
SDBディレクトリ情報ファイルの格納先ディレクトリ:755