この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は エ

解説

データベースの障害回復において、媒体障害(磁気ディスクそのものの物理的故障でデータが失われる障害)が発生したときの回復法を問う問題です。媒体障害ではディスク上のデータベース本体が失われるため、まず別に保存しておいたバックアップコピーでデータベースを復元します。しかしバックアップは取得時点のものなので、その後にコミットされた更新は反映されていません。そこで、ログ(更新前・更新後情報の記録)を用いて、バックアップ取得以降にコミットされた全てのトランザクションの更新内容を再現する「ロールフォワード(前進復帰)」を行い、障害直前のコミット済み状態まで回復します。選択肢dは「バックアップコピーでデータベースを復元し、バックアップ取得以降にコミットした全てのトランザクションをロールフォワードする」とあり、媒体障害の回復手順そのものなので正解です。媒体障害はバックアップ+ロールフォワード、システム障害(メモリ内容喪失)はログによるロールバック・ロールフォワード、という回復方式の対応を整理しておくことが重要です。

なぜ他の選択肢は違うのか

選択肢 ア
「障害発生時、異常終了したトランザクションをロールバックする」は、トランザクション障害(個々のトランザクションの異常終了)に対する回復の説明です。媒体障害ではディスク上のデータそのものが失われるため、ロールバックだけでは回復できず、バックアップからの復元とロールフォワードが必要です。個々のトランザクションの異常終了に対応する回復であり、ディスク自体が壊れてデータが失われる媒体障害では、ロールバックだけでは回復できず別の手順が必要になります。
選択肢 イ
「コミットしていたがデータベースの実更新がされていないトランザクションをロールフォワードする」は、システム障害(メモリ内容の喪失)からの回復におけるロールフォワードの説明です。媒体障害ではディスク自体が壊れているため、ログのロールフォワードだけでは足りず、まずバックアップからの復元が前提となります。
選択肢 ウ
「まだコミットもアボートもしていなかった全てのトランザクションをロールバックする」は、システム障害時に、障害発生時点で未完了だったトランザクションを取り消すロールバックの説明です。媒体障害ではデータベース本体が失われているため、未完了トランザクションのロールバックだけでは回復できません。システム障害時に未完了のトランザクションを取り消す回復の説明であり、データベース本体が失われる媒体障害では、未完了分のロールバックだけでは到底回復できません。

解くときのポイント

障害回復の対応:媒体障害(ディスク故障)=バックアップ復元+ロールフォワード、システム障害(メモリ喪失)=ログでロールバック/ロールフォワード、トランザクション障害=ロールバック。障害の種類で手順を選ぶ。