平成28年度 秋期 ITサービスマネージャ試験 午前Ⅱ 問21
テクノロジ/データベースシステム障害発生時には,データベースの整合性を保ち,かつ,最新のデータベース状態に復旧する必要がある。このために,DBMSがトランザクションのコミット処理を完了とするタイミングとして,適切なものはどれか。
出典:平成28年度 秋期 ITサービスマネージャ試験 午前Ⅱ 問21
- アアプリケーションの更新命令完了時点
- イチェックポイント処理完了時点
- ウログバッファへのコミット情報書込み完了時点
- エログファイルへのコミット情報書込み完了時点
正解:エ
解説
システム障害発生時にもデータベースの整合性を保ち,かつ最新の状態に復旧できるようにするためには,コミットしたトランザクションの更新内容が,障害が発生しても失われない不揮発性の記録媒体上に確実に残されている必要があります。そのため,DBMSは,ログファイル(ディスクなどの不揮発性媒体上のログ)へのコミット情報の書込みが完了した時点をもって,トランザクションのコミット処理を完了したものとします。ログバッファはメモリ上にあり,障害時に消失する可能性があるため,ログバッファへの書込み完了時点をコミット完了とすることはできません。
選択肢ごとの解説
- ア誤り。アプリケーションの更新命令完了時点は,DBMS内部でのログ書込みなどの処理が完了したことを保証するものではなく,コミット完了のタイミングとして適切ではありません。
- イ誤り。チェックポイント処理完了時点は,各トランザクションのコミットのタイミングとは直接関係がなく,コミット完了のタイミングとして適切ではありません。
- ウ誤り。ログバッファはメモリ上のものであり,障害発生時に内容が失われる可能性があるため,ログバッファへの書込み完了時点をコミット完了とすることはできません。
- エ正しい。ログファイル(不揮発性の記録媒体)へのコミット情報書込みが完了した時点をもって,コミット処理を完了とすることで,障害発生後もコミット済みの更新を回復できます。