11.4.9 SDB定義文の同期点処理と推奨するSDB定義文の指定方法
SDB定義文の同期点処理は,pdsdbdefコマンド単位に実行されます。したがって,SDB定義文ファイル中に指定したすべてのSDB定義文の処理が正常終了した場合にかぎり,pdsdbdefコマンドが正常終了します。SDB定義文ファイル中に指定したSDB定義文のうち,1つでもエラーが発生した場合,すべてのSDB定義文の処理が無効になります。
推奨するSDB定義文の指定方法を次に示します。
-
HiRDBの再起動を必要としないSDBデータベースの定義追加をする場合
-
*ENTRY DICTIONARY文と*CHECK DICTIONARY文を指定して,pdsdbdefコマンドを実行します。※1
-
*ENTRY DIRECTORY文を指定して,pdsdbdefコマンドを実行します。
-
-
HiRDBの再起動を必要としないSDBデータベースの定義変更をする場合
-
*ALTER DICTIONARY文と*CHECK DICTIONARY文を指定して,pdsdbdefコマンドを実行します。※1
-
*ALTER DIRECTORY文を指定して,pdsdbdefコマンドを実行します。
-
-
HiRDBの再起動を必要とするSDBデータベースの定義追加をする場合
*ENTRY DICTIONARY文と*ENTRY DIRECTORY文を指定して,pdsdbdefコマンドを実行します。※2
-
HiRDBの再起動を必要とするSDBデータベースの定義変更をする場合
*ALTER DICTIONARY文と*ALTER DIRECTORY文を指定して,pdsdbdefコマンドを実行します。※2
- 注※1
-
*ENTRY DICTIONARY文(または*ALTER DICTIONARY文)と*CHECK DICTIONARY文を別々に実行した場合,*CHECK DICTIONARY文の実行時にデータベース定義の不整合が検知されると,不整合が検知されたSDBディクショナリ情報を*DELETE DICTIONARY文で削除する必要が生じます。しかし,*DELETE DICTIONARY文を実行した場合,HiRDBを再起動する必要があるため,*ENTRY DICTIONARY文と*CHECK DICTIONARY文は一緒に指定するようにしてください。
- 注※2
-
*ENTRY DICTIONARY文と*ENTRY DIRECTORY文(または*ALTER DICTIONARY文と*ALTER DIRECTORY文)を別々に実行した場合,*ENTRY DIRECTORY文(または*ALTER DIRECTORY文)の実行時にデータベース定義の不整合が検知されると,不整合が検知されたSDBディクショナリ情報を*DELETE DICTIONARY文で削除する必要が生じます。そのため,*ENTRY DICTIONARY文と*ENTRY DIRECTORY文(または*ALTER DICTIONARY文と*ALTER DIRECTORY文)は,一緒に指定するようにしてください。