平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問16
テクノロジ/データベースDBMSがチェックポイント時点で,チェックポイントレコードをログに書き出す他に行っている処理はどれか。
出典:平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問16
- ア完了していないトランザクションをロールバックする。
- イ更新したデータの更新前後情報ログをログファイルに書き出す。
- ウデータベースの内容をバックアップファイルに書き出す。
- エバッファに残っている更新後のデータをデータベースに書き出す。
正解:エ
解説
DBMSは,チェックポイント処理において,チェックポイントレコードをログファイルに書き出すとともに,その時点でデータベースバッファ上に残っている更新済み(コミット済みかどうかを問わない)のデータをデータベース(ディスク)に書き出す。これによって,チェックポイント以前にバッファ上にあった更新内容がディスクに反映され,障害発生時に再実行(ロールフォワード)すべき範囲をチェックポイント以降に限定できるようになる。
選択肢ごとの解説
- ア誤り。完了していないトランザクションのロールバックは,システム障害からの回復処理の中で行われるものであり,チェックポイント処理そのものの一部として行われる処理ではない。
- イ誤り。更新前後情報(ビフォア・アフターイメージ)をログファイルに書き出す処理は,データの更新が行われるたびに継続的に行われる処理であり,チェックポイント処理に特有の追加処理ではない。
- ウ誤り。データベースの内容をバックアップファイルに書き出す処理は,バックアップ取得という別の運用作業であり,チェックポイント処理そのものではない。
- エ正しい。チェックポイント処理では,チェックポイントレコードをログに書き出すことに加えて,その時点でバッファに残っている更新後のデータをデータベースに書き出す処理を行う。