基本情報技術者 2019年 春期 午前(科目A) 問57
問題文
ディスク障害時に、フルバックアップを取得してあるテープからディスクにデータを復元した後、フルバックアップ取得時以降の更新後コピーをログから反映させてデータベースを回復する方法はどれか。
選択肢
ア:チェックポイントリスタート
イ:リブート
ウ:ロールバック
エ:ロールフォワード(正解)
🔒 解説は解答すると表示されます
ロールフォワード復旧【午前解説】
正解の理由
正解は エ(ロールフォワード)です。問題文は「フルバックアップ取得時以降の更新後コピーをログから反映させてデータベースを回復する」と明示しており、これはバックアップ時点から先に行われた更新をトランザクションログ(redoログ)を用いて順に再適用する操作を指します。ロールフォワード(redo)は「前方適用」であり、完全バックアップから復元した状態を最新の一貫した状態まで進める手順です。
解法ステップ
- 問題文のキー表現を抽出:「フルバックアップ取得時以降の更新をログから反映」→ログを用いて更新を「再実行」するイメージ。
- 各選択肢の意味を確認:チェックポイントリスタート(同期点から再起動)、リブート(再起動)、ロールバック(取り消し)、ロールフォワード(再適用)。
- ログを「反映」=前向きに適用する操作はロールフォワードであると判断して選択する。
- 不要な選択肢を排除:ロールバックは前向き適用と逆、リブート・チェックポイントは目的に合致しない。
選択肢別の誤答解説
- ア: チェックポイントリスタート
チェックポイントはトランザクションの整合性を確保する同期点であり、チェックポイント「リスタート」としても単体でログの前方適用を意味しません。復旧処理の一部として用いることはありますが、設問の「ログから更新を反映する」操作そのものではありません。 - イ: リブート
サーバやOSの再起動を指します。ディスク障害後のデータベース復旧で必要なログの再適用やトランザクションの整合化を自動的に完了する用語ではありません。 - ウ: ロールバック
変更を取り消す(undo)操作を指します。フルバックアップ後に行われた更新を適用して状態を進める問題文の要求とは逆の操作です。 - エ: ロールフォワード(正解)
フルバックアップから復元した後、トランザクションログの更新(redo)を順に適用してデータベースを最新の整合した状態に戻す操作であり、設問の記述に合致します。
よくある誤解
- ロールバックと混同する:ロールバックは未確定トランザクションの取り消し(undo)で、復旧のためにログを適用して進めるロールフォワードとは逆の概念です。
- チェックポイントリスタートを復旧手段と考える:チェックポイントは整合性確保のための同期点であり、単独でログ再適用(復旧)を実行するものではありません。
- リブート=復旧と思う誤り:リブートはOS/サーバの再起動であり、トランザクションログの再適用やデータベース一貫性の回復を自動的に完成するとは限りません。
補足コラム
- ロールフォワードは「redoログ」「トランザクションログ」の値を適用することで、障害発生時点以降のコミット済みトランザクションを反映します。逆に未コミットの処理はログを用いて取り消す(undo)ことがあります。
- 実際のDBMS(例:PostgreSQLのWAL、OracleのREDOログ、MySQLのバイナリログ)では、フルバックアップ+ログ適用でポイントインタイムリカバリ(PITR)を実現できます。
- バックアップ戦略では「フルバックアップ+増分バックアップ+ログ保存」の組み合わせで復旧時の作業量と復旧可能期間を設計します。
FAQ
Q: ロールフォワードで未コミットトランザクションはどうなるのですか?
A: ロールフォワードはコミット済みの変更を再適用します。未コミット分は通常ロールバック(undo)で取り消され、整合性が保たれます。
A: ロールフォワードはコミット済みの変更を再適用します。未コミット分は通常ロールバック(undo)で取り消され、整合性が保たれます。
Q: チェックポイントは復旧に不要ですか?
A: 不要ではありません。チェックポイントはログ適用の開始点や必要なundo/redoの範囲を短くするため、復旧処理の効率化に寄与しますが単独でログ再適用を意味しません。
A: 不要ではありません。チェックポイントはログ適用の開始点や必要なundo/redoの範囲を短くするため、復旧処理の効率化に寄与しますが単独でログ再適用を意味しません。
Q: フルバックアップがある場合、いつロールフォワードを使うべきですか?
A: フルバックアップ復元後に、それ以降に発生したコミット済み更新を反映させて最新状態に戻したいときに用います(ポイントインタイム復旧も可能)。
A: フルバックアップ復元後に、それ以降に発生したコミット済み更新を反映させて最新状態に戻したいときに用います(ポイントインタイム復旧も可能)。
関連キーワード: ロールフォワード、ロールバック、トランザクションログ、チェックポイント、フルバックアップ、ポイントインタイムリカバリ、redoログ、増分バックアップ

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

