pulpul 日本の試験

ITサービスマネージャ 概念書 · データベース

障害回復とバックアップ運用

障害回復とバックアップ運用は、障害の種類に応じてバックアップ媒体とトランザクションログを使い分け、データベースを整合性のある状態へ戻す仕組みである。フルバックアップと差分バックアップで復元の土台を作り、ログによるロールフォワードとロールバックで障害直前の状態へ近づける。障害の種類による手順の違いが試験で問われやすい。

フルバックアップと差分バックアップの運用

フルバックアップは、データベース全体の複製を一定間隔で取得する方式である。1回分に記録されるデータ量はデータベースの規模で決まり、取得間隔を変えても基本的には変わらない。一方で、取得間隔を延ばすと、復旧時に反映すべきログの量が増えるため、ログ反映の平均処理時間が長くなる。取得間隔を2倍にした場合は、この処理時間がおおむね2倍になる。

差分バックアップは、直近のフルバックアップ以降に変更されたデータだけを保存する方式である。復元では、まずフルバックアップで基準時点の状態に戻し、そのうえで差分バックアップを反映する。差分データは直近のフルバックアップからの変更が累積されるため、フルバックアップから時間がたつほど差分の量は増える。

システム障害時の回復

システム障害では、ディスク上のデータベースは壊れていない。そのため、チェックポイント以前にコミット済みのトランザクションは、データベースに反映済みとして扱い、回復の対象としないのが基本である。チェックポイント以降にコミットしたトランザクションはログの更新内容を再適用するロールフォワードの対象となり、コミットしていないトランザクションは更新を取り消すロールバックの対象となる。

チェックポイント取得後、障害発生前にコミットしたトランザクションだけをロールフォワードの対象とする判断は、この考え方を具体的な組合せに当てはめたものである。 読取りだけで更新のないトランザクションは、取り消す更新がないためロールバックの対象とはならない。

媒体障害時の復元

媒体障害では、データベースを格納した媒体が失われるため、まずバックアップコピーからデータベースを復元する。そのうえで、バックアップ取得後にコミットしたトランザクションの更新内容を、ログの更新後情報を使ってロールフォワードする。これにより、障害直前の状態まで回復できる。ログが欠けている区間の更新は、回復できない。

この節の続き

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む