最終更新日:2026年7月20日
fe fe-technology database backup recovery
まず結論
データベースの復旧は、基本的に次の2段階で考えます。
1. 直前のフルバックアップを戻す
2. その後の更新をジャーナルから反映する
このとき、フルバックアップの取得間隔が長いほど、復旧時に適用するジャーナル情報が増えます。
間隔を延ばしても1回のフルバックアップ量はほぼ同じ。増えるのは復旧時に追いかける更新履歴。
直感的な説明
フルバックアップは、ある時点のデータベース全体を保存した「基準点」です。
その後に行われた追加・変更・削除は、ジャーナルに記録されます。
フルバックアップ
↓
更新1
↓
更新2
↓
障害発生
復旧時には、まずフルバックアップを戻し、その後の更新1、更新2を順番に反映します。
バックアップ間隔が長いほど、反映すべき更新履歴が多くなるため、復旧時間も長くなります。
定義・仕組み
フルバックアップ
データベース全体を保存する方式です。
1回当たりの保存量は、主にデータベース全体の大きさで決まります。
そのため、取得間隔を2倍にしても、データベース容量がほぼ同じなら、1回当たりの保存量や取得時間は大きく変わりません。
ジャーナル
データベースに対して行われた更新履歴です。
代表例は次のとおりです。
- レコードの追加
- レコードの変更
- レコードの削除
- トランザクションのコミット
ロールフォワード
バックアップ取得後に行われた正常な更新を、ジャーナルから再適用する処理です。
過去のフルバックアップ
↓
ジャーナルを順番に適用
↓
障害直前の状態
「前進復帰」と呼ばれることもあります。
ロールバック
未完了の処理や異常終了した処理を取り消し、更新前の状態へ戻す処理です。
ロールフォワード
→ 正常な更新を進める
ロールバック
→ 不完全な更新を取り消す
科目Aでどう出る?
試験では、次の3点を切り分けます。
| 問われ方 | 判断 |
|---|---|
| バックアップ間隔が長くなる | ジャーナル量が増え、復旧時間が長くなる |
| 1回当たりのフルバックアップ量 | DB容量が同じならほぼ変わらない |
| 一定期間内のバックアップ回数 | 間隔を2倍にすると約半分になる |
特に注意したいのは、回数と1回当たりを混同しないことです。
間隔を2倍
→ 回数は約半分
→ 1回当たりの量はほぼ同じ
→ 平均ジャーナル量は約2倍
障害発生時刻がランダムなら、バックアップ間隔をTとしたとき、平均経過時間はT÷2です。
間隔を2Tにすると、平均経過時間はTとなるため、平均ジャーナル量は約2倍になります。
どんな場面で使う?
フルバックアップ
データベース全体を確実に保存したいときに使います。
復元手順は分かりやすい一方、保存容量や取得時間が大きくなります。
差分バックアップ
直前のフルバックアップ以降に変更されたデータを保存します。
フルバックアップ
+
その後の差分
取得時間を短くしやすい一方、復元時にはフルバックアップと差分データを組み合わせます。
増分バックアップ
直前のバックアップ以降に変更されたデータだけを保存します。
1回当たりの量は小さくできますが、復元時には複数世代を順番に適用する必要があります。
バックアップ間隔の設計
バックアップを頻繁に取るほど、復旧時のジャーナル量は少なくなります。
一方で、取得回数や運用負荷は増えます。
頻繁に取得
→ 運用負荷は増える
→ 復旧は速い
間隔を長くする
→ 運用負荷は減る
→ 復旧は遅い
よくある誤解・混同
間隔を2倍にすると、1回のバックアップ量も2倍になる
誤りです。
フルバックアップは毎回データベース全体を保存します。
変わるのは取得回数であり、1回当たりの保存量ではありません。
バックアップ回数が半分なら、1回当たりの量も半分になる
誤りです。
一定期間内の総回数と、1回当たりの量は別です。
ジャーナルはバックアップそのものである
違います。
バックアップは、ある時点のデータの複製です。
ジャーナルは、その後に行われた更新履歴です。
復旧時間はフルバックアップの復元時間だけで決まる
誤りです。
実際には、次の合計で考えます。
バックアップの復元時間
+
ジャーナルの適用時間
ロールフォワードとロールバックは同じ
違います。
- ロールフォワード:正常な更新を再適用する
- ロールバック:未完了の更新を取り消す
まとめ(試験直前用)
- フルバックアップはデータベース全体を保存する
- ジャーナルはバックアップ後の更新履歴を記録する
- ロールフォワードは、ジャーナルを使って障害直前まで進める
- ロールバックは、未完了の更新を取り消す
- バックアップ間隔が長いほど、平均ジャーナル量と復旧時間は増える
- 間隔を変えても、1回当たりのフルバックアップ量はほぼ変わらない
- 「回数」と「1回当たり」を分けて考える
回数が減るのはバックアップ。増えるのは復旧時に適用するジャーナル。