平成24年度 春期 データベーススペシャリスト試験 午前II 問17
【問題17】
更新前レコードと更新後レコードをログとして利用するDBMSにおいて、ログを先に書き出すWAL (Write Ahead Log) プロトコルに従って、処理①~⑥を正しい順番に並べたものはどれか。
【解説】
WAL(Write Ahead Log)プロトコル
WALプロトコルでは、データベースの更新前にその内容をログに書き出し、トランザクションがコミットされる前に更新後の内容もログに記録します。これにより、障害発生時にログを参照してデータの整合性を保つことができます。
① begin transactionレコードを書き出す
トランザクション開始時にログに記録します。
③ ログに更新前レコードを書き出す
データベースを更新する前に、更新前のデータをログに記録します。
④ ログに更新後レコードを書き出す
データベースを更新した後、その内容をログに記録します。
② データベースを更新する
実際のデータベースの更新を行います。
⑤ commitレコードを書き出す
トランザクションのコミットをログに記録します。
⑥ end transactionレコードを書き出す
トランザクションの終了をログに記録します。
したがって、正しい順番は エ です。
出典:平成24年度 春期 データベーススペシャリスト試験 午前II 問17