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

平成28年度秋期 情報処理安全確保支援士 午前Ⅰ 問10

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

問題

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

選択肢

  1. ア
    トランザクションデータベースに対するRead回数とWrite回数
  2. イ
    T1、 T2 Read 10、 Write 20 T3、 T4 Read 100 T5、 T6 Read 20、 Wnte 10時問、
  3. ウ
    T1一一@
  4. エ
    チT2トコ @
解き方のヒントを見る

午前I 問10:障害時のトランザクション復旧を考えよう

障害が起きたときは、トランザクションが「コミット済みかどうか」で扱いが変わるよ。ちゃんと保存されているログを手がかりにして、データベースをつじつまの合う状態へ戻していこう。

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

ポイントは、コミット済みの処理は反映し、未コミットの処理は取り消す、という切り分けができるかどうかだよ。買い物でいうと、レジで確定した注文は残し、まだ確定していないカートの中身はなかったことにするイメージだね。

Database Recovery

database recovery redoes committed transactions and rolls back uncommitted ones based on the log

committed -> redo\nuncommitted -> rollback

確認ポイント

  • 未コミットを再実行しない。
  • コミット済みは失われていれば再現する。
  • redo と rollback を使い分ける。
正解と解説を見る

正解

ア

出典

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

選択肢ア(正解)

不正解だよ。Read回数やWrite回数は、トランザクションがどれだけ作業したかの量を見る情報であって、障害復旧で大事な「障害時点で完了していたか、未完了だったか」を直接決める情報ではないよ。たとえるなら、窓口で何回書類を出し入れしたかよりも、「受付完了のハンコが押されていたか」が大事、という感じだね。

選択肢イ

不正解だよ。T1、T2、Read/Write回数などが並んでいるけれど、復旧対象を決める根拠として見るべきなのは回数ではなく、チェックポイント・障害発生時刻・コミットの有無だよ。たとえるなら、泥棒が入った後に金庫を確認するとき、鍵を何回回したかではなく「ちゃんと施錠完了していたか」を見る、というイメージだね。

選択肢ウ

不正解だよ。T1だけのような内容では、障害復旧で必要な対象をきちんと表せていないよ。復旧は、店のレジ締めみたいに「確定済みの処理は帳簿に反映し直す」「途中だった処理はなかったことにする」と分けて考える必要があるんだ。

選択肢エ

不正解だよ。表示が崩れていて内容をそのまま正しい選択肢として読めないけれど、少なくともロールフォワード・ロールバックの対象を正しく整理した答えにはなっていないよ。復旧では、障害前にコミット済みならやり直し、未コミットなら取り消し、というルールで見るんだ。

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

関連する過去問一覧

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