基本情報技術者 2018年 秋期 午前(科目A) 問30
問題文
データベースが格納されている記憶媒体に故障が発生した場合、バックアップファイルとログを用いてデータベースを回復する操作はどれか。
選択肢
ア:アーカイブ
イ:コミット
ウ:チェックポイントダンプ
エ:ロールフォワード(正解)
バックアップとログを用いたデータベース回復操作【午前2 解説】
要点まとめ
- 結論:記憶媒体故障からの復旧は、バックアップで基に戻しトランザクションログを再適用するロールフォワードで行います。
- 根拠:トランザクションログ(redo/アーカイブログ/WAL)はバックアップ以降の変更を保持し、順次適用すると一貫性が回復します。
- 差がつくポイント:チェックポイントやダンプは整合したベースを作るが、最新状態復元にはログ再適用(ロールフォワード)が不可欠です。
正解の理由
正解は エ:ロールフォワードです。
理由は単純で、障害発生時にまずバックアップファイルでデータベースのある時点のイメージを復元し、次にバックアップ以降に記録されたトランザクションログを順に適用(再実行)することで障害発生直前までの更新を反映できるためです。ロールフォワードは「バックアップ復元+ログの再適用」に該当し、設問の要件に合致します。
理由は単純で、障害発生時にまずバックアップファイルでデータベースのある時点のイメージを復元し、次にバックアップ以降に記録されたトランザクションログを順に適用(再実行)することで障害発生直前までの更新を反映できるためです。ロールフォワードは「バックアップ復元+ログの再適用」に該当し、設問の要件に合致します。
よくある誤解
- 「アーカイブ」と混同する:アーカイブ(アーカイブログ)はログの保管を意味し、回復操作そのものではない点を見落としがちです。
- 「チェックポイント=完全回復」と思う誤り:チェックポイントは整合性の目印であり、最新の変更を反映するためには追加でログ適用が必要です。
- 「コミットで復旧できる」との誤解:コミットはトランザクション単位の確定操作であり、媒体障害からの復旧手順を指すものではありません。
解法ステップ
- 問題文を確認し「バックアップファイルとログを用いて回復」とある点に注目する。
- 選択肢の意味を整理する(アーカイブ=保管、コミット=トランザクション確定、チェックポイントダンプ=整合ダンプ、ロールフォワード=ログ再適用)。
- 「バックアップ+ログ適用」に該当する操作を選ぶとロールフォワードが一致するため正解と判断する。
- 念のためチェックポイントやアーカイブの役割の違いを理解して選択肢を排除する。
選択肢別の誤答解説
- ア: アーカイブ
アーカイブはログやファイルを保存・保管することを指します。ログを保管する役割はあるが、バックアップ復元後にログを適用して復旧する「操作」自体ではありません。 - イ: コミット
コミットはトランザクションを確定させるデータベース操作であり、障害からの回復手順とは無関係です。復旧手段を示す選択肢ではありません。 - ウ: チェックポイントダンプ
チェックポイントやダンプは整合した状態のスナップショットを取得するために用いられますが、バックアップ後の変更を反映して最新状態に戻すにはログの再適用が必要であり単独では不十分です。 - エ: エ ロールフォワード
正解。バックアップに対してトランザクションログを順次適用することで、障害発生直前までの状態を回復する手法です。
補足コラム
- ロールフォワードとロールバックの違い:ロールフォワードは「redo(再適用)」であり、ロールバックは「undo(取り消し)」です。回復時はロールフォワードで最新の変更を適用し、必要に応じて未コミットのトランザクションをロールバックします。
- DBMS別用語例:Oracleは「アーカイブログ+リドーログ」、PostgreSQLは「WAL(Write-Ahead Log)」を使い、いずれも基本はバックアップ+ログ適用による回復です。
- Point-in-time recovery(PITR):特定時点まで戻す場合も、バックアップ+該当時点までのログ適用で実現します。
FAQ
Q1: ロールフォワードで未コミットのトランザクションはどうなる?
A1: ロールフォワードでログを適用した後、DBMSは未コミットのトランザクションを検出してロールバック(undo)します。最終的に整合性が保たれます。
A1: ロールフォワードでログを適用した後、DBMSは未コミットのトランザクションを検出してロールバック(undo)します。最終的に整合性が保たれます。
Q2: チェックポイントを取っておけばロールフォワードは不要ですか?
A2: チェックポイントは復旧の出発点を短縮しますが、チェックポイント以降の変更はログにしかないため、最新状態復元にはログ適用(ロールフォワード)が必要です。
A2: チェックポイントは復旧の出発点を短縮しますが、チェックポイント以降の変更はログにしかないため、最新状態復元にはログ適用(ロールフォワード)が必要です。
Q3: アーカイブとロールフォワードはどちらが先?
A3: アーカイブ(ログ保存)は長期保管の仕組みで、ロールフォワードに使うログが存在して初めて適用できます。つまりログがアーカイブされていればロールフォワードに利用可能です。
A3: アーカイブ(ログ保存)は長期保管の仕組みで、ロールフォワードに使うログが存在して初めて適用できます。つまりログがアーカイブされていればロールフォワードに利用可能です。
関連キーワード: リカバリ, ロールフォワード, トランザクションログ, バックアップ, チェックポイント, アーカイブログ, リドーログ, WAL

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

