IPA過去問ドリル

平成28年度 秋期 ITサービスマネージャ試験 午前Ⅱ 問21

テクノロジ/データベース

システム障害発生時には,データベースの整合性を保ち,かつ,最新のデータベース状態に復旧する必要がある。このために,DBMSがトランザクションのコミット処理を完了とするタイミングとして,適切なものはどれか。

出典:平成28年度 秋期 ITサービスマネージャ試験 午前Ⅱ 問21

正解:エ

解説

システム障害発生時にもデータベースの整合性を保ち,かつ最新の状態に復旧できるようにするためには,コミットしたトランザクションの更新内容が,障害が発生しても失われない不揮発性の記録媒体上に確実に残されている必要があります。そのため,DBMSは,ログファイル(ディスクなどの不揮発性媒体上のログ)へのコミット情報の書込みが完了した時点をもって,トランザクションのコミット処理を完了したものとします。ログバッファはメモリ上にあり,障害時に消失する可能性があるため,ログバッファへの書込み完了時点をコミット完了とすることはできません。

選択肢ごとの解説

  • 誤り。アプリケーションの更新命令完了時点は,DBMS内部でのログ書込みなどの処理が完了したことを保証するものではなく,コミット完了のタイミングとして適切ではありません。
  • 誤り。チェックポイント処理完了時点は,各トランザクションのコミットのタイミングとは直接関係がなく,コミット完了のタイミングとして適切ではありません。
  • 誤り。ログバッファはメモリ上のものであり,障害発生時に内容が失われる可能性があるため,ログバッファへの書込み完了時点をコミット完了とすることはできません。
  • 正しい。ログファイル(不揮発性の記録媒体)へのコミット情報書込みが完了した時点をもって,コミット処理を完了とすることで,障害発生後もコミット済みの更新を回復できます。
ITサービスマネージャの過去問を演習モードで解く