データベースの障害回復でログをどう使うのか
基本情報技術者試験 平成31年度春期 午前 問57 / サービスマネジメント › サービスの運用
過去問にチャレンジ
ディスク障害時に,フルバックアップを取得してあるテープからディスクにデータを復元した後,フルバックアップ取得時以降の更新後コピーをログから反映させてデータベースを回復する方法はどれか。
- ア
チェックポイントリスタート
- イ
リブート
- ウ
ロールバック
- エ
ロールフォワード
会話形式の解説
講師まず、フルバックアップを復元した直後のデータは、いつの状態かを確かめましょう。
受験者バックアップを取った時点の状態です。その後の更新は、まだ反映されていません。
講師そのとおりです。では、その後の更新を復元したデータに加えるには、何を使いますか。
受験者更新後の内容を記録したログです。順に反映するのでしょうか。
講師はい。更新後ログを順に適用する方法がロールフォワードです。この手順が問題の回復方法に当たります。
受験者ロールバックも回復に関係するので迷いました。何が違いますか。
講師ロールバックは更新前の情報を使って変更を取り消します。今回はバックアップ後の更新を加えるので、処理の向きが違います。
受験者チェックポイントリスタートなら、保存されたところから更新を反映できそうにも思えます。
講師チェックポイントリスタートは、保存された同期点を基に処理を再開する方法です。バックアップ後の更新後ログを反映する操作には当たりません。
受験者リブートはシステムの再起動なので、再起動だけでは更新を取り戻せませんね。
講師そのとおりです。復元したデータがバックアップ時点の状態であることから、必要な処理を判断できます。
受験者更新を取り消すのではなく、ログから加えていくので、ロールフォワードを選びます。
まとめ
フルバックアップを復元した直後のデータは、バックアップ取得時点の状態です。それ以降の更新後ログを順に反映する方法がロールフォワードです。ロールバックは変更を取り消す方法なので、この問題の処理とは向きが異なります。チェックポイントリスタートは同期点からの処理再開、リブートはシステムの再起動を指します。
解答・解説
正解はエです
この問題のテーマ
フルバックアップからデータを戻した後、ログを使って障害直前の状態へ近づける回復方法を問う問題です。
解き方の考え方
まず、テープから復元したデータはフルバックアップ取得時点の状態だと捉えます。その後に行われた更新を取り戻すには、更新後の内容を記録したログを順に反映します。この処理に当たる名称を選びます。
選択肢ごとの解説
- ×ア チェックポイントリスタートチェックポイントリスタートは、保存された同期点を基に処理を再開する方法です。バックアップから戻したデータに、その後の更新後ログを反映する操作には当たりません。
- ×イ リブートリブートはシステムの再起動を指します。再起動するだけでは、フルバックアップ取得後の更新をデータベースに反映できません。
- ×ウ ロールバックロールバックは更新前の情報を使い、行った変更を取り消します。この問題で必要なのは、バックアップ後の更新を取り消すことではなく、復元したデータに加えることです。
- ○エ ロールフォワードロールフォワードでは、更新後ログを順に適用します。フルバックアップ時点のデータに、それ以降の更新を反映させるという問題文の手順に一致します。
POINT
- フルバックアップを復元した直後のデータは、バックアップ取得時点の状態です。
- 更新後の内容をログから反映する回復方法をロールフォワードといいます。
- 変更を取り消すロールバックとは、回復処理の向きが異なります。
