DBデータベーススペシャリスト試験 午前Ⅰ

令和3年度秋期 データベーススペシャリスト 午前Ⅰ 問9

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

問題

データベースの障害回復処理に関する記述として,適切なものはどれか。

選択肢

  1. ア
    異なるトランザクション処理プログラムが,同一データベースを同時更新することによって生じる論理的な矛盾を防ぐために,データのブロック化が必要となる。
  2. イ
    システムが媒体障害以外のハードウェア障害によって停止した場合,チェックポイントの取得以前に終了したトランザクションについての回復作業は不要である。
  3. ウ
    データベースの媒体障害に対して,バックアップファイルをリストアした後,ログファイルの更新前情報を使用してデータの回復処理を行う。
  4. エ
    トランザクション処理プログラムがデータベースの更新中に異常終了した場合には,ログファイルの更新後情報を使用してデータの回復処理を行う。
解き方のヒントを見る

障害回復を整理するための視点

障害回復を考えるときは、処理の途中状態と記録の関係に注目し、障害前後で何を確認すべきかを目的別に整理すると、用語に引きずられず比較しやすくなります。

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

一つの観点として、障害発生時点で処理や記録がどの段階にあるかを見極め、その後に必要となる確認対象を、回復の目的と対応づけて考えてください。

視点

障害回復では、処理の進み具合、記録の残り方、再開後に確認すべき状態を切り分けて捉えることが大切です。各用語を暗記せず、どの時点の何を扱う説明なのかを整理し、問題文の条件と対応づけて検討します。

確認ポイント

  • 処理が障害前後のどの段階にあるかを確認する
  • 記録や状態が示す対象を、処理の目的と分けて読む
  • 復旧後に確認する対象が何かを条件から拾う
正解と解説を見る

正解

イ

解説

データベース障害回復では、障害の種類とトランザクションの状態に応じて回復処理を選択する。媒体障害、処理途中の異常終了、チェックポイント取得前後では扱いが異なる。

理由

媒体障害以外のハードウェア障害では、チェックポイント後に完了した処理などを確認して回復する。チェックポイント取得以前に正常終了したトランザクションの更新内容は、既にデータベースへ反映済みとして扱われるため、改めて回復作業を行う必要はない。

比較

同時更新による論理的な矛盾を防ぐデータのブロック化は、障害回復ではなく同時実行制御の考え方です。媒体障害ではバックアップ後に更新後情報を用いる処理が必要になり、処理途中の異常終了では更新前情報を用いて取り消す。

選択肢ア

これは不正解だよ。異なるトランザクションが同じデータを同時に更新する際の論理的な矛盾を防ぐのは、ロックなどによる同時実行制御の役割である。データのブロック化を障害発生後の回復処理として説明している点が誤りである。

選択肢イ(正解)

これは正解だよ。媒体障害以外のハードウェア障害では、チェックポイント取得以前に正常終了したトランザクションの更新は、既にデータベースへ反映されたものとして扱える。そのため、そのトランザクションについて改めて回復作業を行う必要はない。

選択肢ウ

これは不正解だよ。バックアップファイルを復元した後、媒体障害発生前の状態へ進めるには、ログに記録された更新後の情報を利用する。更新前情報は、処理を取り消して障害発生前の状態へ戻す回復で用いるため、この説明は情報の用途が逆である。

選択肢エ

これは不正解だよ。トランザクションがデータベース更新中に異常終了した場合は、完了していない更新を取り消す必要がある。その際に使用するのはログファイルの更新前情報であり、更新後情報を使って回復するとしている点が誤りである。

学習のポイント

チェックポイント、バックアップ、ログの更新前情報と更新後情報の用途を区別する。

出典:独立行政法人 情報処理推進機構(IPA)令和3年度秋期 データベーススペシャリスト試験 午前Ⅰ 問9(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

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