基本情報技術者 2011年 秋期 午前(科目A) 問36
問題文
媒体障害時のデータベース回復に備え、あるバックアップ時点から次のバックアップ時点までの間のデータとして、稼働中のデータベースとは別の媒体に保存しておく必要のあるものはどれか。
選択肢
ア:インデックスデータ
イ:チェックポイントデータ
ウ:ディクショナリデータ
エ:ログデータ(正解)
媒体障害時のデータベース回復に備え、バックアップ間のデータを別媒体に保存すべきものはどれか【午前2 解説】
要点まとめ
- 結論:障害からの時点復旧に必須なのはトランザクションを記録するログデータであり、別媒体への保管が必要です。
- 根拠:フルバックアップだけではバックアップ時点以降の変更が失われるため、変更履歴(ログ)を使って復旧・再適用する必要があります。
- 差がつくポイント:チェックポイントや辞書はバックアップでカバー可能だが、ログは継続的に収集・アーカイブしておく運用が合否を分けます。
正解の理由
正解は エ(ログデータ)です。
ログデータ(トランザクションログ、リドゥログ、WALなど)はバックアップ時点から次のバックアップ時点までの全ての変更を記録しているため、媒体障害で稼働中の本体データが失われた際にフルバックアップに対してログを順次適用(リドゥ)することで、その期間の変更を復元できます。したがって、異なる媒体に保存しておかなければ、バックアップとバックアップの間の更新が失われ、完全な復旧が不可能になります。
ログデータ(トランザクションログ、リドゥログ、WALなど)はバックアップ時点から次のバックアップ時点までの全ての変更を記録しているため、媒体障害で稼働中の本体データが失われた際にフルバックアップに対してログを順次適用(リドゥ)することで、その期間の変更を復元できます。したがって、異なる媒体に保存しておかなければ、バックアップとバックアップの間の更新が失われ、完全な復旧が不可能になります。
よくある誤解
- 「インデックスを別媒体に」と誤解しやすい:インデックスは再構築可能なので最優先で別媒体に置く必要は通常ありません。
- 「チェックポイントを保存すれば十分」と考える誤り:チェックポイントは復旧の起点情報を示すだけで、実際の変更履歴はログが担います。
- 「辞書データは動かないから不要」との誤認:辞書(メタデータ)は重要だが、通常はバックアップで確保され、更新頻度は低いためログほど継続的保管の優先度は低いです。
解法ステップ
- 問題文で問われている期間を確認:あるバックアップ時点から次のバックアップ時点までのデータ。
- 「その期間のデータを別媒体に保存する理由」を考える:媒体障害で稼働中データが失われた場合に、期間中の変更を復元するため。
- 各選択肢が「期間中の変更を完全に表すか」を評価:ログのみが逐次的に全変更を記録するため適合。
- 結論を導出:ログデータを別媒体(アーカイブ)に保管することが正解。
選択肢別の誤答解説
-
ア: インデックスデータ
インデックスは検索性能向上のための構造であり、失っても再作成可能です。フルバックアップやデータリカバリ後に再構築できます。したがって「バックアップ間の全更新を保持する必要があるもの」ではありません。 -
イ: チェックポイントデータ
チェックポイントはデータファイルとログの同期点(復旧の開始点)を示す情報であり、復旧に重要ですが単体では変更履歴を持ちません。チェックポイント自体はバックアップで取得されることが多く、継続的に別媒体に保つ対象とは異なります。 -
ウ: ディクショナリデータ(メタデータ)
ディクショナリはスキーマやオブジェクト定義を保持しますが、更新頻度は低く、通常のバックアップでカバーされます。緊急時にはバックアップから復元すれば良いため、期間中に変更を逐次保管する対象ではありません。 -
エ: ログデータ(正解)
トランザクションの開始・終了・変更内容を時系列で記録するため、フルバックアップ後の変更を再現する唯一の手段です。媒体障害時にフルバックアップに対してログを適用することで、損失前の最新状態まで復旧できます。
補足コラム
- バックアップ方式の整理:フルバックアップは状態を保存、増分/差分バックアップは変更を圧縮、ログアーカイブは逐次変更を保持し時点復旧(PITR)を可能にします。
- 各DBMSの実装例:OracleはアーカイブログモードでオンラインREDOログを保存、PostgreSQLはWAL(Write-Ahead Logging)をアーカイブしてPITRを実現します。運用では定期的なバックアップとログの安全な転送(別媒体・遠隔地)が推奨されます。
- 運用上の注意点:ログの保管量は大きくなるため、ローテーションと保持ポリシー(保持期間、容量、暗号化)を決めておくことが重要です。
FAQ
Q1: なぜインデックスを別媒体に保存する必要はないのですか?
A1: インデックスはデータから再生成可能であり、優先度は低い。復旧後に性能回復のために再作成すれば良いです。
A1: インデックスはデータから再生成可能であり、優先度は低い。復旧後に性能回復のために再作成すれば良いです。
Q2: チェックポイントは不要なのですか?
A2: チェックポイントは復旧を効率化する重要情報ですが、それ自体が「期間内の変更」を保存する手段ではありません。ログとセットで扱います。
A2: チェックポイントは復旧を効率化する重要情報ですが、それ自体が「期間内の変更」を保存する手段ではありません。ログとセットで扱います。
Q3: ログを保存していれば何でも復旧できる?
A3: ログが完全であればバックアップ時点以降の更新は再適用可能ですが、ログやバックアップが欠損していると復旧範囲は制限されます。ログの転送・保全が必須です。
A3: ログが完全であればバックアップ時点以降の更新は再適用可能ですが、ログやバックアップが欠損していると復旧範囲は制限されます。ログの転送・保全が必須です。
Q4: ログの保存先はどこが良い?
A4: 異なる媒体・別ラックや異地のストレージ、クラウドへのアーカイブなど、媒体障害や災害を想定した分離が望ましいです。
A4: 異なる媒体・別ラックや異地のストレージ、クラウドへのアーカイブなど、媒体障害や災害を想定した分離が望ましいです。
関連キーワード: データベース復旧、トランザクションログ、ログアーカイブ、チェックポイント、フルバックアップ、増分バックアップ、WAL、リドゥログ、バックアップ運用、PITR

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

