ロールバックとは?
ロールバックとは、更新前ログを使って、トランザクションが行った更新を取り消し、開始前の状態に戻すこと。
データベーススペシャリスト試験の過去問では15回出題されています(2016年度〜2025年度)。
ロールバック
ロールバックの意味
更新前ログを使って、トランザクションが行った更新を取り消し、開始前の状態に戻すこと。
ロールバックの具体例
トランザクション障害(デッドロックによる強制終了、異常終了など)からの回復に使う。
ロールバックは試験でどう引っ掛けられる?
ロールフォワードと向きが逆。ロールバックは更新前ログ(UNDO)を使って過去の状態へ戻す、ロールフォワードは更新後ログ(REDO)を使って先の状態へ進める。使うログの種類まで含めて対で覚える。また媒体障害の回復にロールバックは使わない(バックアップ+ロールフォワード)。
ロールバックと関連する用語
ロールバックが出た過去問
分散データベースシステムにおいて、複数のデータベースを更新する場合に用いられる2相コミットの処理手順として、適切なものはどれか。
正解:主サイトは、コミットが可能であることを各データベースサイトに確認した後、コミットを発行する。
要点:2相コミットは全サイトの可否確認後にコミットを指示する
2相コミットは、まず主サイトが全サイトにコミット可能かを問い合わせて可否を集める第1相(準備フェーズ)と、全サイトから可の応答が得られた場合にコミットを指示する第2相(コミットフェーズ)から成る。1サイトでも不可なら全サイトへロールバックを指示し、分散したデータベースの整合性を保つ。
出典:平成28年度 春期 データベーススペシャリスト試験 am2 問14(IPA)トランザクションの原子性(atomicity)の説明として、適切なものはどれか。
正解:トランザクションが終了したときの状態は、処理済みか未処理のどちらかしかない。
要点:原子性は全て実行か全く実行しないかのどちらかになる性質
原子性は、トランザクションの処理が全て実行されるか、全く実行されないかのどちらかになる性質である。途中で異常が起きた場合はロールバックして開始前の状態に戻すため、中途半端に一部だけ反映された状態は残らない。
出典:平成28年度 春期 データベーススペシャリスト試験 am2 問17(IPA)DBMSが取得するログに関する記述として、適切なものはどれか。
正解:ロールフォワードに備えて、データベースの更新されたページに対する更新後情報を取得する。
要点:ロールフォワードは更新後情報、ロールバックは更新前情報
ロールフォワードは、バックアップ取得後の更新をログで再現して復旧する処理なので、更新後の内容を記録したログが必要になる。逆にトランザクションの取消し(ロールバック)では更新前の内容を使って元に戻す。目的によって更新前・更新後のどちらを使うかが決まる。
出典:平成29年度 春期 データベーススペシャリスト試験 am2 問6(IPA)データベース更新における2相コミットに関する記述のうち、適切なものはどれか。
正解:2相コミットを行うためには、同時に更新しようとする分散データベースの全てが更新可能かどうかを判断するためのやり取りが必要である。
要点:2相コミットは全サイトへの可否確認のやり取りが前提
2相コミットでは、第1相で調停役のサイトが関係する全サイトにコミット可能かどうかを問い合わせ、その応答を集めてから第2相でコミットまたはロールバックを指示する。この可否確認のやり取りがあるからこそ、分散した複数のデータベースの更新を一括して確定・取消しできる。
出典:平成29年度 春期 データベーススペシャリスト試験 am2 問14(IPA)分散データベースのトランザクションは複数のサブトランザクションに分割され、複数のサイトで実行される。このとき、トランザクションのコミット制御に関する記述のうち、…
正解:2相コミットを用いても、サブトランザクションが実行されるサイトに主サイトの指示が届かず、サブトランザクションをコミットすべきかロールバックすべきか分からない場合がある。
要点:2相コミットでも指示が届かないと判断できず待たされる
2相コミットには、了承応答を返した後に主サイトからの最終指示が届かないと、そのサイトがコミットもロールバックもできずロックを保持したまま待ち続けるという弱点がある。これをブロッキングと呼び、2相コミットでも完全には避けられない。
出典:平成30年度 春期 データベーススペシャリスト試験 am2 問13(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。