SC情報処理安全確保支援士試験 午前Ⅰ
平成21年度秋期 情報処理安全確保支援士 午前Ⅰ 問12
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア異なるトランザクション処理プログラムが、 同ーデータベースを同時更新することによって生じる論理的な矛盾を防ぐために、 データのブロック化が必要となる。
- イシステムが謀体障害以外の原因によって停止した場合チェックポイントの取得以前に終了したトランザクションについての回復作業は不要である。
- ウデータベースの鑑体障和に対して、 パックアップファイルをリストアした後、 ログファイルの更新前情報を使用してデータの回復処理を行う。
- エトランザクション処理プログラムがデータベースの更新中に異常終了した場合には、 ログファイルの更新後情報を使用してデータの回復処理を行う。
解き方のヒントを見る
プログラムが途中で止まってしまったら、「書き換える前(過去)の状態」に戻す(キャンセル)
データベースが途中で異常終了したときの復旧問題。処理が最後まで完了せずに途中で力尽きたものは、中途半端なデータを残さないために、ログに記録されている「更新前の値(古い値)」を上書きして、処理を始める前の状態まで綺麗に取り消し(ロールバック / undo)を行うよ。
この問題で問われていること
「処理が終わる前に落ちた=なかったことにしたい=更新前のデータで元に戻す(undo/ロールバック)」、「処理は終わっていたがハードディスクが壊れた=やり直したい=更新後のデータで再現する(redo/ロールフォワード)」という2つの使い分けを整理しよう。
redo と undo の使い分け
媒体障害からの復旧では、バックアップを戻して更新後情報でやり直すことが多いです。一方、更新途中で異常終了したトランザクションは未完了なので、更新前情報を使って元へ戻す undo が中心になります。
媒体障害 -> restore + redo\n未完了トランザクション -> undo
確認ポイント
- 更新途中で落ちた処理には redo ではなく undo を考えましょう。
- 同時更新の矛盾防止はロック制御の話です。
- チェックポイント以前の処理がすべて回復不要になるわけではありません。
正解と解説を見る
正解
イ
出典
問題文と解答は IPA 公開の過去問題冊子・解答例を基にしています。
選択肢ア
不正解だよ。同じデータを同時に更新して矛盾しないようにするには、窓口で番号札を配って順番に対応するような「ロック」や「排他制御」が必要なんだ。データのブロック化は、データを扱いやすい単位にまとめる話で、同時更新のけんかを防ぐ主役ではないよ。
選択肢イ(正解)
正解だよ。媒体障害ではない普通のシステム停止なら、チェックポイントは「ここまでは帳簿にきちんと写したよ」というしおりみたいなもの。だから、そのチェックポイントより前に完了していたトランザクションは、基本的にもう反映済みとして扱えるので、回復作業の対象にしなくてよいんだ。
選択肢ウ
不正解だよ。ディスクなどの媒体障害は、ノートそのものをなくした状態に近いんだ。まずバックアップで古いノートを戻して、その後の書き込みを「更新後情報」で書き足していく。選択肢は「更新前情報」としていて、これは消しゴムで元に戻す用のメモなので使いどころが違うよ。
選択肢エ
不正解だよ。更新中にプログラムが落ちた処理は、レジ打ちの途中で止まった会計みたいなもの。まだ確定していないから、先へ進めるのではなく、更新前情報を使って「始める前の状態」に戻すんだ。更新後情報で回復する、という説明が逆だよ。
出典:独立行政法人 情報処理推進機構(IPA)平成21年度秋期 情報処理安全確保支援士試験 午前Ⅰ 問12(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針