資格スワイプ
科目A-2(多肢選択式・四肢択一、25問)

あるDBMSはWAL(Write-Ahead Logging)方式を採用している。更新トランザクションがコミットされ、クライアントにコミット完了の応答を返した直後にサーバの電源が断たれ、データファイルへの反映(フラッシュ)が完了していなかった。再起動後のDBMSの動作として適切なものはどれか。

  • コミット済みであることをクライアントに応答済みのため、ログに基づいてロールフォワード(redo)を行い、更新内容をデータファイルに反映する
  • Bデータファイルへの反映が完了していないため、当該トランザクションの更新はすべて失われたものとして扱う
  • Cコミット応答を返した時点でメモリ上のデータのみ正としてよく、ログとの整合は取らない
  • Dログファイルが破損している可能性を考慮し、バックアップ取得時点まで全体をロールバックする

解説

WAL方式では、コミット時点でログがディスクに書き込まれていれば、たとえデータファイルへの反映(フラッシュ)が未完了でも、そのトランザクションはコミット済みとして扱われる。再起動時にはログを読み、コミット済みトランザクションの更新をロールフォワード(redoログの再実行)によってデータファイルに反映する。

根拠シラバス「期待する技術水準」データベース管理システムの特性(信頼性)・障害回復(WALログ・ロールフォワード)

← 前の問題次の問題 →
スワイプでまとめて流す