令和6年度 春期 応用情報技術者試験 午前 問27
テクノロジデータベース
この問題は2024(R6)春 応用情報技術者 午前に出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。
本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。
トランザクション はチェックポイント後にコミットしたが,その後にシステム障害が発生した。トランザクション の更新内容をその終了直後の状態にするために用いられる復旧技法はどれか。ここで,トランザクションは WAL プロトコルに従い,チェックポイントの他に,トランザクションログを利用する。
解答・解説を読む
正解: 選択肢エ
データベースの障害復旧において、障害発生時に コミット済み のトランザクションは、トランザクションログ(更新履歴)を用いて障害発生直前の状態まで処理を再現します。この復旧技法を ロールフォワード (前進復帰)と呼びます。
設問では「トランザクション はチェックポイント後に コミットした が,その後にシステム障害が発生した」とあるため、トランザクション の更新内容をデータベースに反映させるためには、ログファイルに記録された更新後ログを用いて ロールフォワード を行います。したがって正解は「エ」です。
各選択肢の解説
- ア 2相ロック
データベースの 同時実行制御 において、複数のトランザクションが直列可能性を保証するためのロック方式です。障害復旧の技法ではありません。 - イ シャドウページ
データの更新時に元のページ(シャドウページ)を残しておき、更新用の新しいページを作成して書き込む方式です。障害発生時には更新用ページを破棄しシャドウページを参照することで復旧を行う技法ですが、設問のような「ログを用いたコミット後の復旧」を指すものではありません。 - ウ ロールバック
障害発生時に 未コミット のトランザクションに対して行われる復旧技法(後退復帰)です。更新前ログを用いて、トランザクション開始前の状態に戻します。 - エ ロールフォワード
正解です。障害発生時に コミット済み のトランザクションに対して行われる復旧技法(前進復帰)です。更新後ログを用いて、障害発生直前の状態までデータベースを復旧させます。