基本情報技術者 2011年 春期 午前(科目A) 問33
問題文
データベースの更新前や更新後の値を書き出して、データベースの更新記録として保存するファイルはどれか。
選択肢
ア:ダンプファイル
イ:チェックポイントファイル
ウ:バックアップファイル
エ:ログファイル(正解)
🔒 解説は解答すると表示されます
更新記録ログファイル【午前解説】
正解の理由
ログファイルは、データベース内で行われた各更新操作の前後の値(before image と after image)やトランザクションの開始・コミット・ロールバック情報を逐次書き出します。これにより、障害発生時に未コミットの変更を取り消す(undo)か、コミット済みの変更を再適用する(redo)かを判断して一貫性を回復できます。問題文の「更新前や更新後の値を書き出して、更新記録として保存する」という機能はログファイルの定義そのものであるため、正答は エ です。
解法ステップ
- 問題文のキーワード「更新前や更新後の値」「更新記録」を確認する。
- 各選択肢の定義を頭の中で素早く照合する(ダンプ=スナップショット、チェックポイント=同期の合図、バックアップ=状態保存、ログ=逐次記録)。
- 「更新の前後の値を保存する」という機能に合致するものを選ぶ(ログファイル)。
選択肢別の誤答解説
- ア: ダンプファイル
誤り。ダンプはデータのエクスポートやスナップショットであり、トランザクションごとの before/after 逐次記録ではありません。復旧時には役立ちますが、更新履歴そのものではありません。 - イ: チェックポイントファイル
誤り。チェックポイントはデータベースエンジンがメモリ中の変更をディスクに永続化した位置や時点を示す情報で、更新前後の値を逐次保存するログとは目的が異なります。 - ウ: バックアップファイル
誤り。バックアップは特定時点のデータのコピーであり、更新履歴(各更新の before/after)を逐次保存するものではありません。ポイントインタイム復旧にはログと組み合わせる必要があることが多いです。 - エ: ログファイル
正解。トランザクション毎の操作内容や更新前後の値を記録し、undo/redo やポイントインタイムリカバリ、監査に用いられます。
よくある誤解
- 誤解1: ダンプファイルをログと混同する
ダンプはテーブルやデータベース全体のスナップショット(エクスポート)であり、更新の逐次記録(before/after)は含まれないことが多いです。 - 誤解2: チェックポイントが更新履歴を保持すると思う
チェックポイントはメモリ内の変更(ダーティページ)をディスクに書き出すタイミング情報を示すもので、更新履歴そのものの保存ではありません。 - 誤解3: バックアップでログの代替ができると思う
フルバックアップはある時点の状態を保存するだけで、バックアップ単体では直近の更新履歴(ログ)に基づくポイントインタイム復旧はできない場合があります。
補足コラム
データベースのログには種類があります。例えば PostgreSQL の WAL(Write-Ahead Logging)は更新内容を先にログに書き、それからデータページを書き出すことでクラッシュ時の一貫性を確保します。Oracle では redo log が再実行用、undo セグメントが取り消し用の情報を持ちます。運用では定期的なバックアップとログアーカイブ(ログの保管ポリシー)を組み合わせて、障害時にどの時点まで復旧できるか(RPO)を設計します。
FAQ
Q1: ログファイルとバックアップはどちらが重要ですか?
A1: 両方重要です。バックアップはある時点の完全コピー、ログはその後の更新を記録するため、組み合わせてポイントインタイム復旧を実現します。
A1: 両方重要です。バックアップはある時点の完全コピー、ログはその後の更新を記録するため、組み合わせてポイントインタイム復旧を実現します。
Q2: チェックポイントがあればログは不要ですか?
A2: 不要ではありません。チェックポイントはディスク書き出しの同期ポイントを示すだけで、更新の逐次履歴(undo/redo 情報)はログに依存します。
A2: 不要ではありません。チェックポイントはディスク書き出しの同期ポイントを示すだけで、更新の逐次履歴(undo/redo 情報)はログに依存します。
Q3: ログファイルはどこに保存されますか?
A3: 多くは専用のログ領域またはディスク上のファイルに保存されます。運用上は別ストレージへのアーカイブが推奨されます。
A3: 多くは専用のログ領域またはディスク上のファイルに保存されます。運用上は別ストレージへのアーカイブが推奨されます。
関連キーワード: トランザクションログ、ログファイル、WAL、redo、undo、チェックポイント、ダンプ、バックアップ、ポイントインタイムリカバリ、リカバリ、監査、データベース運用

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

