基本情報技術者試験 - 令和4年12月修了 - 問29
データベースの障害復旧に関する記述のうち,適切なものはどれか。
| ア | データベースのシステム障害に対しては,トランザクション処理の途中にスナップショットの設定をして,その時点からリスタート処理を行う。 |
|---|---|
| イ | データベースの媒体障害に対しては,バックアップ時点の状態に復元した後,ジャーナルファイルの更新後情報を使用してロールフォワード処理を行う。 |
| ウ | データベースの論理的障害によってトランザクション処理がデッドロック状態になり,処理が終了しない場合,排他制御を解除する。 |
| エ | トランザクション処理プログラムが,データベースの更新途中に物理的原因以外で異常終了した場合,ジャーナルファイルの更新後情報を使用してロールバック処理を行う。 |
答え : イ
分野 : テクノロジ系 › 技術要素 › データベース › トランザクション処理
データベースの障害には,大きく分けてシステム障害,媒体障害,論理的障害などの種類があり,それぞれに応じた復旧方法が用いられます。媒体障害とは,ディスク装置などの物理的な記憶媒体自体が損傷を受けることによって発生する障害のことです。
選択肢「イ」にある通り,媒体障害が発生した場合には,あらかじめ取得しておいたバックアップの時点までデータベースの状態を復元した後,ジャーナルファイルに記録されている更新後情報を使って,バックアップ取得時点から障害発生直前までの更新内容を再度適用するロールフォワード処理を行うことで,データベースを復旧させます。
「ア」は,システム障害に対してトランザクション処理の途中でスナップショットを設定し,その時点からリスタート処理を行うという説明ですが,システム障害への対応としてはチェックポイントを用いたリスタート処理が一般的であり,記述の仕方がやや不正確です。
「ウ」は,論理的障害によってデッドロックが発生した場合に排他制御を解除するという説明ですが,デッドロックの解消には特定のトランザクションを強制的に中止するなどの対応が必要であり,単純に排他制御を解除するという記述は不適切です。
「エ」は,トランザクション処理プログラムが異常終了した場合に,ジャーナルファイルの更新後情報を使ってロールバック処理を行うという説明ですが,ロールバック処理には更新後情報ではなく更新前情報を使用するため,この記述は誤りです。
分野 : テクノロジ系 › 技術要素 › データベース › トランザクション処理
同一問題 : 〔平26修1問33〕
解説 : データベースの障害には,大きく分けてシステム障害,媒体障害,論理的障害などの種類があり,それぞれに応じた復旧方法が用いられます。媒体障害とは,ディスク装置などの物理的な記憶媒体自体が損傷を受けることによって発生する障害のことです。
選択肢「イ」にある通り,媒体障害が発生した場合には,あらかじめ取得しておいたバックアップの時点までデータベースの状態を復元した後,ジャーナルファイルに記録されている更新後情報を使って,バックアップ取得時点から障害発生直前までの更新内容を再度適用するロールフォワード処理を行うことで,データベースを復旧させます。
「ア」は,システム障害に対してトランザクション処理の途中でスナップショットを設定し,その時点からリスタート処理を行うという説明ですが,システム障害への対応としてはチェックポイントを用いたリスタート処理が一般的であり,記述の仕方がやや不正確です。
「ウ」は,論理的障害によってデッドロックが発生した場合に排他制御を解除するという説明ですが,デッドロックの解消には特定のトランザクションを強制的に中止するなどの対応が必要であり,単純に排他制御を解除するという記述は不適切です。
「エ」は,トランザクション処理プログラムが異常終了した場合に,ジャーナルファイルの更新後情報を使ってロールバック処理を行うという説明ですが,ロールバック処理には更新後情報ではなく更新前情報を使用するため,この記述は誤りです。