データベース データ ファイルを作成し使用できるように準備します。
Zeroload 関数は、データベース データ ファイルを作成し、それらのファイルを使用するための準備をします。データベース データ ファイルには、データベースのセグメント データとポインターが含まれます。アプリケーションでデータベースに対する呼び出しを発行できるようにするには、そのデータベースを事前にゼロロードする必要があります。自動ゼロロードは、IMSDBU Load 関数によってデータのロード前に実行されます。ゼロロードは、スタンドアロンの Zeroload ユーティリティまたは DBUTIL によって実行することもできます。
警告:既存のデータベースをゼロロードすると、そのデータベースは再初期化され、データはすべて失われます。
構文 - コマンド ライン
mfims imsdbu ZERO {database-name|filename}
[[NO]CLS]
[ECHO(keyword,msglvl,stoplvl
[[NO]INI(filespec)]
[[NO]LIST(filespec)]
[LISTOPEN(disp)]
[[NO]LOG(filespec)]
[PROGRESS(no-of-segments)]
構文 - JCL
ZERO EXEC PGM=MFDBUJCL,PARM='ZEROLOAD,database-name'
//SYSOUT DD SYSOUT=*
パラメーター - コマンド ライン
- database-name
- 関数を実行するデータベースの名前。
- filename
- 関数を実行するデータベースのリストを含んでいるファイルの名前。
- CLS
- ユーティリティの起動前に画面をクリアします。NOCLS を使用すると、初期クリア画面は防止されます。NOCLS は、コマンド ファイルで一連のユーティリティを実行している場合に役立ちます。
- ECHO
- IMSDBU によって表示されるメッセージの表示とそれらのメッセージとの対話を制御します。
- サブパラメーター
keyword |
表示される情報のカテゴリ。次のいずれかを指定します。
- ALL
- 処理メッセージ、入力ソースまたは詳細情報、および終了メッセージを常に表示します。メッセージ レベルが msglvl および stoplvl 値以上の場合は、警告およびエラー メッセージが表示され、ユーザー入力を求めて停止します。
- MSGS
- 処理メッセージと終了メッセージを常に表示します。ソースや詳細情報は表示されません。メッセージ レベルが msglvl および stoplvl 値以上の場合は、警告およびエラー メッセージが表示され、ユーザー入力を求めて停止します。
- ERREND
- ユーティリティ終了メッセージを常に表示します。メッセージ レベルが msglvl および stoplvl 値以上の場合は、警告およびエラー メッセージが表示され、ユーザー入力を求めて停止します。
- ENDMSG
- ユーティリティ終了戻りコードが msglvl 以上の場合のみ終了メッセージを表示します。ユーティリティ終了戻りコードが stoplvl 以上の場合は、「Press any key to continue」というメッセージが表示され、入力を求めて停止します。すべての終了メッセージで表示および/または停止するには、msglvl および/または stoplvl の値としてゼロを入力します。
- COND
- 警告/エラー メッセージと終了メッセージは、どちらも msglvl および stoplvl 値を条件としています。メッセージ レベルが msglvl および stoplvl 値以上の場合は、警告およびエラー メッセージが表示され、ユーザー入力を求めて停止します。終了戻りコードが msglvl 以上の場合は、終了メッセージが表示されます。ユーティリティ終了戻りコードが stoplvl 以上の場合は、入力を求める「Press any key to continue」というメッセージが表示されます。
- ERRORS
- メッセージ レベルが msglvl および stoplvl 以上の場合は、入力を求める警告およびエラー メッセージが表示されます。終了メッセージは表示されません。
|
msglvl |
表示するメッセージの重大度を示す 4 ~ 20 の値。1 |
stoplvl |
ユーザー入力を求めて停止するメッセージの重大度を示す 4 ~ 20 の値。1 |
1 次の値を指定できます。
値 |
カテゴリ |
原因例 |
4 |
一般的な警告メッセージ |
DBDGEN が仮説を立てて続行することができる DBD ソース内のマイナーなコーディング エラー |
6 |
IMS 固有の警告メッセージ |
キーワードまたは文がサポート対象外で無視されるという警告 - 処理は続行可能 |
8 |
一般的な重大エラー |
補正できない DBD ソース内の不正なコーディング ('no DBD statement' など) |
10 |
IMS Option 固有の重大エラー |
補正できないサポート対象外の機能が定義されている ('Exceeded some maximum' など) |
12 |
重大エラー - 起こりうる一時的な状態 |
一時的な I/O エラー ('file locked' または 'database locked’ 状態など) |
16 |
重大エラー - 永続的 - インストールの問題と考えられる |
永続的な I/O エラー (無効なデータ セット名やメンバー名がユーティリティに入力された場合や、環境変数が正しく設定されていない場合など) |
20 |
重大エラー - 永続的 |
回復不能な I/O エラーまたは他の予期しないエラー |
- INI
- デフォルトの指令ファイルを指定します。
- サブパラメーター
filespec |
IMSDBU プログラム デフォルトをオーバーライドする指令を含んだ .INI ファイルの名前と場所。 |
- 構文規則
-
- filespec には、必要に応じてドライブまたはディレクトリ、あるいはその両方を含めることができます。ドライブやディレクトリを指定しない場合、IMSDBU は指定された .INI ファイルを現在のディレクトリで検索します。
- .INI ファイルにリストされた指令は、IMSDBU プログラム デフォルトをオーバーライドします。
- コマンド ラインまたは対話式画面で入力された指令は、.INI ファイル内の指令をオーバーライドします。
- 指定内容NOINI を指定すると、.INI ファイルによってプログラム デフォルトがオーバーライドされることはなくなります。
- 存在しない .INI ファイルを指定した場合は、NOINI が指定されたかのようにプログラム デフォルトの指令が使用されます。
- 一般規則
-
- .INI ファイルは ASCII テキスト形式のファイルで、見出し[IMSDBU] を行 1 に含み、列 1 から始まり、1 行に 1 つの指令が含まれる mfims imsdbu 指令のリストが続きます。行は改行またはファイル終わりによって終了します。コメント行は、列 1 のアスタリスク (*) またはセミコロン (;) によって示されます。次に例を示します。
[IMSDBU]
PROGRESS(1000)
;use local log
LOG(C:\MYDIR\MYDB.LOG)
- LIST
- 詳細リスティング ファイルの場所と名前を制御します。このリスティング ファイルには、ソース リスティング、完了状態、エラー メッセージ、および実行統計などの項目が含まれています。
- サブパラメーター
filespec |
リスティング ファイルに使用する名前と場所。 |
- 構文規則
-
- filespec には、必要に応じてドライブまたはディレクトリ、あるいはその両方を含めることができます。ドライブやディレクトリを指定しない場合、IMDBU は現在のディレクトリにリスティング ファイルを作成します。
- NOLIST はリスティング ファイルの作成を抑制します。
- パスを指定するために、パスを表す環境変数名の冒頭にドル記号 ($) を置く表記法を使用できます。例えば、LIST($ENVVAR\*.DOC) を使用すると、ENVVAR 環境変数によって指定されたディレクトリに dbdname.DOC のリスト ファイルが作成されます。
- 指定内容LIST(*.LST) またはLIST(*.RPT) を指定すると、プロジェクト リスティング ディレクトリにリスティング ファイルが作成されます。
- パスを指定しない場合、リスティング ファイルは現在のディレクトリに作成されます。
- filespec のベース名をアスタリスク (*) として指定した場合、そのアスタリスクは DBD 名に置き換えられます。これにより、IMSDBU は、複数のデータベースに作用することができる関数の個別レポートを提供できるようになります。また、これは DBD 名による履歴詳細レポートの管理にも役立ちます。
- 指定内容LIST を filespec なしで指定した場合、LIST(*.LST)を指定した場合と同じになります。
- LISTOPEN
- 詳細リスティング ファイルのオープン ディスポジションを制御します。
- サブパラメーター
disp |
使用するディスポジション。次のいずれかになります。
- NEW
- 新しいリスティング ファイルを作成するか、または既存のリスティング ファイルを上書きします。
- MOD
- リスト出力を既存のファイルに追加します。既存のファイルがない場合は、新しいリスティングを作成します。MOD を指定すると、データベース関数の詳細履歴レコードを維持することができます。
|
- 構文規則
-
- NOLIST が指定されている場合は、LISTOPEN は無視されます。
- LOG
- 各関数の終了メッセージ状態を示す IMSDBU アクティビティ ログを指定します。
- サブパラメーター
filespec |
IMSDBU アクティビティ ログとして使用するファイルの名前と場所。 |
- 構文規則
-
- filespec には、必要に応じてドライブまたはディレクトリ、あるいはその両方を含めることができます。ドライブやディレクトリを指定しない場合は、現在のディレクトリにリスティングが作成されます。
- NOLOG を指定すると、ログ ファイル出力は抑制されます。
- 一般規則
-
- ログ ファイルが存在しない場合は、ログ ファイルが作成されます。
- ログ ファイルは、ファイル終わりまで記述されている最近のエントリを含んでいる履歴ファイルです。
- ログ ファイルのサイズが次第に増えると、状況により定期的に削除が必要になります。
- PROGRESS
- 進捗レポーティングの頻度を制御します。
- サブパラメーター
no-of-segments |
進捗メッセージを表示する前に処理するセグメントの数を示す 0 ~ 9999 の値。0 を指定すると、進捗レポーティングは無効になります。 |
- 構文規則
-
- 指定するセグメント数はデフォルトの 200 より小さい値に減らさないことをお奨めします。非常に小さい値を使用すると、データベース関数のパフォーマンスがはっきりと低下します。
- 比較的高速なシステムの場合は、設定値を高くすると (例えば、1000 以上にすると)、パフォーマンスが多少向上することがあります。
- 一般規則
-
- 進捗メッセージには、処理されたセグメントの数、または全体のうち完了した割合 (%) と予想される残り時間が表示されます。
パラメーター - JCL
- database-name
- 関数を実行するデータベースの名前。
入力
Zeroload 関数の入力は、DBDGEN を使用して定義された 1 次物理 DBD の名前です。他の種類のデータベースの場合、ゼロロードは不要であり、実行すべきではありません。
専用データベースはゼロロードが可能です。共有読み取り専用の Remote IMS および User Exit データベースはゼロロードできません。無効な Database Catalog タイプに対してゼロロードを実行しようとすると、エラーが発生します。
次のデータベースをゼロロードしようとすると、エラー メッセージが発行されます。
- HIDAM データベースの主索引。主索引データベースは必要ありません。MFIMS データベースの .IDX コンポーネントは主索引に相当します。
- 2 次索引データベース。これらのデータベースによって索引付けされる 1 次データベースをゼロロードすると、これらのデータベースが自動的に作成されます。非一意キーを定義する 2 次索引 DBD は、1 次データベースをゼロロードする前に生成する必要があります。
- ACCESS=LOGICAL として定義されたデータベース。物理データベースには、論理関係をサポートするのに必要なポインターが含まれます。
- GSAM データベース。GSAM データベースの全詳細については、GSAM のトピックを参照してください。
出力
Zeroload 関数からの出力は、1 次データベースと定義済みの 2 次索引に対するデータ ファイルのセットです。ゼロロードされたデータベースに対しては、任意のデータベース呼び出しを実行できます。初期セグメントをデータベースにロードする際には、処理オプションが 'L' の PCB は必要はありません。
データベース名のゼロロード
ゼロロードを実行した後、出力 dbdname.DAT および .IDX ファイルは、データベース セグメント データおよびセグメント ポインターの初期化されたデータ ファイルです。専用データベース データ ファイルは、IMS プロジェクト設定の専用設定によって示された場所にあります。設定されていない場合、これらのファイルはプロジェクト DATA ディレクトリに置かれます。Fileshare データベースの場合は、共有更新 IMS プロジェクト設定によって Fileshare Server が指定され、オプションとしてドライブとディレクトリ (あるいはその一方) が指定されます。
2 次索引データ ファイルの名前は、XDFLD の LCHILD 名にサフィックスとして .DAT および .IDX を付けたものになります。これらのファイルには、2 次索引キーと 1 次物理データベースへのポインターが含まれます。これらのファイルは、1 次データベース ファイルと同じディレクトリ内にあります。
データベース ファイルは、ファイル操作用の標準オペレーティング システム コマンドまたはユーティリティを使用してコピー、移動、名前変更、または削除することができます。これらのアクションは、.DAT および .IDX の両方のファイル コンポーネントで実行する必要があります。.DAT および .IDX コンポーネントには、2 次索引の場合と同じアクションを適用する必要があります。物理データベースが論理的に他のデータベースに関連付けられている場合は、関連データベースのセットに対するファイルすべてをアクションの対象にする必要があります。
例
DBD NAME=TEST01DD,
ACCESS=(HIDAM,VSAM)
SEGM NAME=TESTHDRS,PARENT=0,
BYTES=120
FIELD NAME=(SEQFIELD,SEQ,U),
BYTES=1,START=4
FIELD NAME=REQ,
BYTES=20,START=5
LCHILD NAME=(TESTHDRI,TEST01PD),PTR=INDX
LCHILD NAME=(TESTHDRX,TEST012D),PTR=INDX
XDFLD NAME=XSEQ,SRCH=REQ
Zeroload への名前入力は TEST01DD です。主索引 TEST01PD または 2 次索引 TEST012D をゼロロードしようとすると、エラー メッセージが表示されます。
1 次データベース用の結果データベース ファイルは、TEST01DD.DAT および TEST01DD.IDX です。
HIDAM データベースの主索引に対する特殊なデータ ファイルはありません。索引は、これらのデータ ファイル内に自動的に含まれます。
2 次索引 TEST012D 用の結果データベース ファイルは、TEST012D.DAT および TEST012D.IDX です。
このデータベースを別のディレクトリにコピーする場合は、上記 4 つのファイルをすべてコピーします。削除、バックアップ、またはその他の操作を行う場合は、上記 4 つのファイルのそれぞれに対して同じアクションを実行してください。