平成28年度 秋期 応用情報技術者試験 午前 問30
DBMSをシステム障害発生後に再立上げするとき,ロールフォワードすべきトランザクションとロールバックすべきトランザクションの組合せとして,適切なものはどれか。ここで,トランザクションの中で実行される処理内容は次のとおりとする。
| トランザクション | データベースに対するRead回数とWrite回数 |
|---|---|
| T1,T2 | Read 10,Write 20 |
| T3,T4 | Read 100 |
| T5,T6 | Read 20,Write 10 |

| ロールフォワード | ロールバック | |
|---|---|---|
| ア | T2,T5 | T6 |
| イ | T2,T5 | T3,T6 |
| ウ | T1,T2,T5 | T6 |
| エ | T1,T2,T5 | T3,T6 |
キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:ア
システム障害からの回復では,チェックポイント時点のデータベースを基に次のように処理します。
- ロールフォワード: チェックポイント以降,障害発生までにコミットされたトランザクションは,更新後ログを使って更新を再実行します。
- ロールバック: 障害発生時点でコミットされていないトランザクションは,更新前ログを使って更新を取り消します。
各トランザクションを見ると次のとおりです。
- T1: チェックポイント前にコミット済みで,更新はチェックポイントでデータベースに反映済みなので処理不要です。
- T2,T5: チェックポイント以降にコミットされ,Writeがあるのでロールフォワードが必要です。
- T3,T4: 未コミットですが,Readだけで更新がないため,ロールバックは不要です。
-
T6: 未コミットで,Writeがあるためロールバックが必要です。
-
ア: ロールフォワード T2,T5/ロールバック T6
正しい。チェックポイント以降にコミットされた更新トランザクションT2,T5をロールフォワードし,未コミットの更新トランザクションT6をロールバックします。 -
イ: ロールフォワード T2,T5/ロールバック T3,T6
誤り。T3はReadだけでデータベースを更新していないため,ロールバックは不要です。 -
ウ: ロールフォワード T1,T2,T5/ロールバック T6
誤り。T1はチェックポイント前にコミットされており,その更新はチェックポイントでデータベースに書き込まれているため,ロールフォワードは不要です。 -
エ: ロールフォワード T1,T2,T5/ロールバック T3,T6
誤り。T1のロールフォワードとT3のロールバックはいずれも不要です。
答え
ア: ロールフォワード T2,T5/ロールバック T6
出典:平成28年度 秋期 応用情報技術者試験 午前 問30