PMプロジェクトマネージャ試験 午前Ⅰ

令和4年度秋期 プロジェクトマネージャ 午前Ⅰ 問9

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

問題

チェックポイントを取得する DBMS において,図のような時間経過でシステム障害が発生した。前進復帰(ロールフォワード)によって障害回復できるトランザクションだけを全て挙げたものはどれか。
チェックポイント、システム障害発生時点、T1〜T5の開始・コミット状態を示すタイムチャート。
チェックポイント、システム障害発生時点、T1〜T5の開始・コミット状態を示すタイムチャート。

選択肢

  1. ア
    T1
  2. イ
    T2 と T3
  3. ウ
    T4 と T5
  4. エ
    T5
解き方のヒントを見る

障害回復を整理する視点

トランザクション障害の回復を考えるときは、発生した時点と処理の進み具合を切り分け、データの一貫性を保つために何を確認するかという観点に集中しましょう。

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

選択肢を読む際は、障害前後の状態変化と、処理が完了・未完了・不明のどれとして扱われるかを確認し、回復後に矛盾が残らないかを考えてください。

視点

回復手順を暗記するより、障害発生時点で処理の状態をどう把握し、その後のデータ状態を一貫させるためにどの情報を使うのかを整理します。個別の方式名や式ではなく、状態確認から判断までの流れに注目してください。

確認ポイント

  • 障害が起きた時点で、処理の状態を判断する材料は何か。
  • 回復後に、処理の前後で矛盾する状態が残らないか。
  • 確認できる記録と、確認できない部分を区別できているか。
正解と解説を見る

正解

ウ

解説

前進復帰で回復できるのは、チェックポイント取得後に更新を行い、障害発生前にコミットまで完了しているトランザクションです。図ではこの条件に該当するものを選ぶ。

理由

前進復帰は、チェックポイント以降のログを用いて、障害発生前にコミット済みだったトランザクションの更新をデータベースへ反映する処理です。図ではT4とT5がこの条件を満たす。

比較

T1はチェックポイント前にコミット済みで、チェックポイント後のログによる再実行対象ではありません。T2とT3は障害発生時点でコミットされていないため、前進復帰ではなく未完了処理として扱う。

選択肢ア

これは不正解だよ。T1はチェックポイントより前に開始され、チェックポイントより前にコミットまで完了している。したがって障害後にチェックポイント以降のログを使って前進復帰する対象ではなく、T1だけを挙げる条件には合わない。

選択肢イ

これは不正解だよ。T2とT3はいずれもチェックポイント後に処理が続いているが、図では障害発生時点までにコミットしていない。未コミットのトランザクションは前進復帰で完了済み状態へ戻す対象ではないため、この組合せは誤りである。

選択肢ウ(正解)

これは正解だよ。T4はチェックポイント前に開始しているものの、チェックポイント後にコミットしている。T5もチェックポイント後に開始し、障害発生前にコミットしているため、両者はチェックポイント後のログを用いた前進復帰の対象になる。

選択肢エ

これは不正解だよ。T5はチェックポイント後に開始して障害発生前にコミットしているため、前進復帰で回復できる条件を満たす。しかしT5だけでなく、同じくチェックポイント後にコミットしたT4も対象なので、全てを挙げていない。

学習のポイント

チェックポイント、コミット、障害発生の時系列から前進復帰の対象を判定する。

出典:独立行政法人 情報処理推進機構(IPA)令和4年度秋期 プロジェクトマネージャ試験 午前Ⅰ 問9(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

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