高度なロールバック回復

高度なロールバック回復は、高度なロギングを有効にした場合に使用できます。

ほとんどの状況では、ロールバック回復は、データ ファイルを回復するのに (ロールフォワードよりも) 迅速な処理です。ロールバック回復では、Fileshare の障害発生時点までのデータ ファイルの回復を試みます。

ただし、キャッシュがディスクにフラッシュされていないシステムの障害が発生した状況では、追加のロギングを有効にしていない限り、ロールバック回復は機能しません。

追加のロギングでは、write through (/lw) および flush on commit (/fc) オプションを、Fileshare の起動時にコマンド ラインで、または fs.cfg ファイルで設定することで有効にする必要があります。この 2 つのオプションでは、1 つの操作でキャッシュとディスクの両方にデータが書き込まれるため、パフォーマンスが低下します。

システム障害からの回復時、または Fileshare が失敗したときにデータ ファイルでその索引を更新している場合、データ スクレイプが必要となることがありますが、データ ファイルが大きい場合には、時間がかかります。

データ スクレイプが必要であればデフォルト アクションで実行されますが、fsexitproc.cbl を使用して、大きなファイルでデータ スクレイプが実行されないようにすることができます。78-file-recovery-rbld-strt 句を使用して、ファイルのサイズ (offset-x) の問い合わせを行い、データ スクレイプを実行するか、次のファイルにスキップするかを決定します。スキップされるファイルをメモしてから、それらのファイルでロールバック回復を実行する必要があります。

Fileshare 回復の設定に適した方法については、高度なロギングのベスト プラクティスの節を参照してください。

高度なロールバック回復処理を開始するには、次のように入力します。

fs /rb dbase.ref

回復が完了したら、既存のログ ファイルをアーカイブする必要があります。アーカイブしないと、Fileshare の次回起動時に次のエラーが発生します。

FS302-S Unable to continue - A log file already exists.