平成27年 秋期 ITパスポート 問71

処理一覧に示す実行順に、トランザクション1〜4を実行する。
あるトランザクションが途中で異常終了し、トランザクションを中断してロールバックした結果、データAとデータBが残った。
異常終了したトランザクションはどれか。
ここで、トランザクションが正常終了したときにコミットを行い、次のトランザクションがあれば、それを実行する。
異常終了したときは、当該トランザクション以降のトランザクションを実行しないものとする。

[処理一覧]
実行順 トランザクション名 処理
1 トランザクション1 データAを作成する。
2 トランザクション2 データBを作成し、データAを削除する。
3 トランザクション3 データAを作成する。
4 トランザクション4 データBを削除する。

 ア  トランザクション1  イ  トランザクション2
 ウ  トランザクション3  エ  トランザクション4


答え エ


解説
各トランザクションが終了したときにシステムに残っているデータは表のようになる。

実行順 トランザクション名 処理 残ったデータ
1 トランザクション1 データAを作成する。 データA
2 トランザクション2 データBを作成し、データAを削除する。 データB
3 トランザクション3 データAを作成する。 データA、データB
4 トランザクション4 データBを削除する。 データA
したがって、異常終了してロールバックした結果データA、データBが残ったということは、ロールバックで戻った位置はトランザクション3が終了した状態なので、異常終了したのはトランザクション4(エ)である。


キーワード
・ロールバック

キーワードの解説
  • ロールバック(roll back)
    データベースに障害が発生したときに、障害の直前に行ったチェックポイント(データを確定させる処理)まで、データを元に戻す処理のことです。
    元に戻すための情報として、データベースの操作をしたときの記録(ジャーナル)を使用します。
    ジャーナルには、操作前のデータベースの状態を記録する更新前ジャーナルと、操作後の状態を記録する更新後ジャーナルがあります。
    チェックポイントはトランザクション処理の完了後に行われることが一般的です。

もっと、「ロールバック」について調べてみよう。

戻る 一覧へ 次へ