データベースの管理と回復

システム障害が発生した場合にリージョン データベース、リージョン間データベース、およびデータストア データベースからリソースを回復するには、dbfhadmin コマンド ライン ツールを使用します。

エンタープライズ サーバー プロセスが異常終了した場合、そのプロセスで使用されているデータベース リソース (リソース ロック、開いているファイル ハンドル、レコード ロックなど) が正しく解放されないことがあります。

リージョン データベースおよびリージョン間データベースの場合は、-casprocess アクションで -list オプションを使用して、CAS リージョン間データベースに現在登録されているすべてのプロセスを表示します。「In doubt」状態と表示されるプロセスを回復する必要があります。プロセスは、エンタープライズ サーバー プロセス (casmgr や cassi など) でリージョン データベースの使用を初期化したときに登録されます。エンタープライズ サーバー プロセスが正常終了すると登録解除されます。プロセスが強制終了された場合 (異常終了した場合) は、リージョン間データベース内の関連するプロセスのレコードが削除されません。プロセスのリストでは、アクティブなプロセス (登録されていて終了していないプロセス) は「Ok」状態と表示され、強制終了されたプロセス (異常終了したプロセス) は「In doubt」状態と表示されます。「In doubt」状態のプロセスは、リージョン データベースのリソースを所有したままである可能性があります。

同様に、-region アクションで -list オプションを使用して、指定したリージョンまたはデータベース サーバー インスタンス全体のリソース ロックのリストを表示できます。誤ってロックされた (つまり、システム障害の発生後に正しく回復されなかった) ファイルがある場合は、-recover アクションを使用して解放できます。

データベースでホストされたデータ ファイルの場合は、-list アクションを使用して、まだ開いているデータ ファイルを表示します。ホスト マシンまたはプロセス (プロセス ID を指定した場合) が実行されていないことを確認してから、開いたままになっているファイルに対して -recover オプションを使用します。ファイルを強制的に閉じると、それらのファイル ハンドルがデータストア データベースから削除され、関連するレコード ロックが解除されます。

dbfhadmin コマンド ライン ツールは、索引ファイルの主キーおよび代替キーに対応するカラム型の管理にも使用できます。これは、索引データ ファイルを COBOL プログラムとは別に作成する場合 (CFCR CICS トランザクションを使用する場合や JCL MFJAMS ユーティリティを使用する場合など) に必要になります。これらのファイルをデータストアで独立して作成すると、キー タイプ定義を生成するメカニズムがないため、各カラム型がバイナリになるためです。dbfhadmin-keytypes アクションを使用すると、ファイルの索引キーに対して別のキー タイプを挿入できます。
注: また、IXNUMKEY コンパイラ指令を指定してコンパイルされていない COBOL プログラムから索引ファイルが作成された場合も、dbfhadmin を使用してキー タイプ定義を定義する必要があります。