DBMSのロールフォワード・ロールバック

チェックポイントを用いたシステム障害からの回復手順は以下のとおりです。 ロールフォワード(REDO): チェックポイント後にコミットが完了しているトランザクションについて,コミットログを用いてデータベースへの書き込みを再実行し,確定状態を再現します。 ロールバック(UNDO): 障害発生時点でコミットが完了していないトランザクションについて,更新前ログを用いてデータベースを更新前の状態に戻します。ただし,データベースの更新(Write)を行っていない読取り専用トランザクションは,データベースの内容を変更していないためロールバックの必要はありません。 各トランザクションの状態を確認します。 T1: チェックポイントより前にコミット完了しているため,チェックポイント時のディスク書き出しによって既にデータベースに反映済みです(回復処理は不要)。 T2, T5: チェックポイント後にコミット完了しているため,ロールフォワード(REDO)の対象となります。 T3: 障害発生時点で未コミットですが,処理内容は「Read 100」のみで Write(書き込み)を行っていません。データベースに変更を加えていないため,ロールバックは不要です。 T6: 障害発生時点で未コミットであり,かつ Write 処理を行っているため,未確定更新を取り消すためにロールバック(UNDO)の対象となります。 したがって,ロールフォワードすべきは T2, T5,ロールバックすべきは T6 となり,正解はアとなります。 トランザクション 障害時の状態 Write 回復処理 T1 チェックポイント前にコミット あり 不要 T2, T5 チェックポイント後にコミット あり ロールフォワード T3, T4 未コミット なし(Read だけ) 不要(戻す更新が無い) T6 未コミット あり ロールバック

DBMS をシステム障害発生後に再立上げするとき、ロールフォワードすべきトランザクションとロールバックすべきトランザクションの組合せとして、適切なものはどれか。ここで、トランザクションの中で実行される処理内容は次のとおりとする。

トランザクション

データベースに対する Read 回数と Write 回数

T1, T2

Read 10, Write 20

T3, T4

Read 100

T5, T6

Read 20, Write 10

問題画像
出典令和5年度 秋期 高度情報処理技術者試験 午前Ⅰ 問9

ロールフォワード

ロールバック

ア

T2, T5

T6

イ

T2, T5

T3, T6

ウ

T1, T2, T5

T6

エ

T1, T2, T5

T3, T6