自動バックワード回復プロセス

自動バックワード回復のプロセスについて説明します。

デフォルトでは、自動バックワード回復は無効になっています。

重要:バックワード回復のためのトランザクション ログ (TLOG) ファイルの扱いは、フォワード回復が有効かどうかによって異なります。詳細は「TLOG ファイル」を参照してください。

自動バックワード回復の無効化

通常の Enterprise Server の起動、または IMS Database Control の再起動時に、DBC は DBC の最後のシャットダウンが正常に実行されたかどうかを判定します。正常に実行されていなかった場合、DBC は自動的に最新の TLOG をスキャンして、データベースが回復を必要とするかどうかを判定します。ただし、それによって回復プロセスは開始されません。破損していると判断された各データベースの名前は、ROLLBACK.LST ファイルに書き込まれます。このファイルは、デフォルトでは %USERPROFILE%\Documents\Micro Focus User\Enterprise Developer\WORKAREA\ESName (Windows) または /var/mfcobol/es/ESName (UNIX) ディレクトリにあります。また、DBC は「サスペンド」モードに切り替わります。つまり、通常のトランザクション処理は禁止されていることを意味します。このモードの DBC では、データベースを回復、START、および STOP するコマンドのみが許可されます。この場合、JCL ジョブから、または mfims imsdbu ロールバック機能を使用して、データベースを手動で回復できます。すべてのデータベースが正常に回復していることが確認できたら、/DBC RESUME コマンドを使用して、DBC の機能を完全に回復させます。詳細は、「IMS データベース制御 (DBC) コマンド」を参照してください。

自動バックワード回復の有効化

エンタープライズ サーバー インスタンスのための構成情報における ES_IMS_ROLLBACK 環境変数を1に設定して、自動バックワード回復を有効にできます。次に例を示します。
[ES-Environment]
ES_IMS_ROLLBACK=1

通常の Enterprise Server 起動による起動時または緊急トリガー時に、IMS Database Control (DBC) プロセスは DBC の最後のシャットダウンが正常に実行されたかどうかを判定します。この判定は、DBC ステータス ファイル IMSDBC.DAT を読み取ることで行われます。このファイルは、デフォルトでは %USERPROFILE%\Documents\Micro Focus User\Enterprise Developer\WORKAREA\ESName (Windows) または /var/mfcobol/es/ESName (UNIX) ディレクトリにあります。このファイルは、データベースがシャットダウンし、そのステータスが変わるごとに各 IMS データベースのステータスで更新されます。

Enterprise Server 起動時、DBC は IMSDBC.DAT ファイルから各データベースの最新のステータスを読み取り、正常にシャットダウンしたデータベースを最新の状態に復元します。

IMSDBC.DAT によって 1 つ以上のデータベースが正常にシャットダウンしていないことが示された場合、DBC は自動的にバックワード回復を呼び出し、入力用として最新のトランザクション ログ (TLOG) ファイルを使用してそれらの各データベースを復元します。

すべてのデータベースの復元が完了すると、復元されたデータベースの概要と、リカバリ処理中に返された警告またはエラー メッセージがリスト ファイルに書き込まれます。リストファイルは、デフォルトで ROLLBACK.LST という名前で、%USERPROFILE%\Documents\Micro Focus User\Enterprise Developer\WORKAREA\ESName (Windows) または /var/mfcobol/es/ESName (UNIX) ディレクトリにあります。

注:何かしらの理由で DBC が IMSDBC.DAT ファイルを読み取れない場合、DBC は「停止」モードで起動します。その場合、通常のトランザクション処理は禁止されます。このモードの DBC では、データベースを回復、START、および STOP するコマンドのみが許可されます。この場合、JCL ジョブから、または mfims imsdbu ロールバック機能を使用して、データベースを手動で回復できます。すべてのデータベースが正常に回復していることが分かったら、/DBC RESUME コマンドを使用して、DBC の機能を完全に回復させます。詳細は、「IMS データベース制御 (DBC) コマンド」を参照してください。