SC情報処理安全確保支援士試験 午前Ⅰ

令和5年度秋期 情報処理安全確保支援士 午前Ⅰ 問9

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

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

選択肢

  1. ア
    トランザクションデータベースに対するRead回数とWrite回数
  2. イ
    tl選Read 10、 Write 2013、 14 Read 100 T5、 16 Read 20、 Write 10時問、 Ti一一@ T2店ーーるー軸タ由14涯15 {| 一一ーーーーーw 16
  3. ウ
    はコミットされていないトランザクションを示す。 ーーーー一@ はコミットされたトランザクションを示す。
  4. エ
    ロールフォワードロールバック
解き方のヒントを見る

午前I 問09

データベースの再起動時は、チェックポイントを境目にして「ちゃんと完了していた更新」はやり直して反映し直すよ。これをロールフォワードというよ。一方で、障害が起きた時点でまだコミットしていなかった更新は、「途中で書きかけのメモはなかったことにする」イメージで取り消すよ。これがロールバックだよ。図では、チェックポイント後にコミット済みの更新トランザクションである `T2、T5` がロールフォワード対象、障害時に未コミットで更新していた `T6` がロールバック対象になるよ。

この問題で問われていること

この問題では、各トランザクションについて「チェックポイント後にコミット済みか」「障害時点で未コミットのまま更新していたか」を見分けられるかがポイントだよ。コミット時刻と書込みの有無を、チェックポイントを基準に落ち着いて判定しよう。

Recovery Decision

committed after checkpoint -> roll forward; uncommitted with writes at crash -> roll back

roll forward: T2、T5\nroll back: T6

確認ポイント

  • コミット済みでもチェックポイント前完了なら通常は対象外です。
  • 読取りだけの未コミットはロールバック対象になりにくい。
  • チェックポイント後コミットを拾う。
正解と解説を見る

正解

ア

出典

問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。

選択肢ア(正解)

正解だよ。ロールフォワードは、停電後にレシートを見ながら「支払い済みの買い物をもう一度レジに反映する」感じ。チェックポイント後にコミット済みで、WriteがあるT2とT5は反映し直す必要があるよ。T6はコミット前に障害が起きたので、途中の作業をなかったことにするロールバック対象だよ。

選択肢イ

不正解だよ。T2とT5をロールフォワード、T6をロールバックするところまでは合っているけど、T3までロールバックに入れているのが余計だよ。T3はReadだけでWriteしていないから、店の商品を見ただけで何も買っていない人みたいなもの。元に戻す変更がないんだよ。

選択肢ウ

不正解だよ。T6をロールバックするのは合っているけど、T1をロールフォワードに入れているのが間違いだよ。T1はチェックポイント前にコミット済みなので、すでに帳簿に清書済みの取引みたいなもの。障害後にもう一度反映し直す必要はないよ。

選択肢エ

不正解だよ。T1をロールフォワードに入れている点と、T3をロールバックに入れている点が間違いだよ。T1はチェックポイント前に確定済みだから再反映不要、T3はReadだけでデータを書き換えていないから取り消すものがないよ。必要なのはT2・T5のロールフォワードと、T6のロールバックだよ。

出典:独立行政法人 情報処理推進機構(IPA)令和5年度秋期 情報処理安全確保支援士試験 午前Ⅰ 問9(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針