はじめに
Db2を運用するうえで、バックアップは最も重要な運用のひとつです。
ディスク障害や人的ミス、アプリケーションの不具合など、データ消失の原因はさまざまですが、適切なバックアップがなければ復旧はできません。
ただし、Db2のバックアップは単にコマンドを実行するだけでは不十分で、「どの方式で取得するか」「どのように運用するか」を含めた設計が重要になります。
本記事では、Db2のバックアップとリカバリーについて、実務で必要となる考え方まで踏み込んで解説します。
結論:Db2バックアップは「方式選定」と「運用設計」がすべて
Db2のバックアップで重要なのは、以下の2点です。
・システム要件に応じてバックアップ方式を選定する
・バックアップとログを含めた運用設計を行う
特に重要なのは、バックアップ単体ではなく「ログとセットで考える」点です。
オンラインバックアップを前提とする場合、ログがなければ完全なリカバリーはできません。
そのため、バックアップは「取得方法」だけでなく「保管・管理・復元」まで含めて設計する必要があります。
バックアップ方式の選び方(設計の出発点)
Db2では、環境や要件によってバックアップ方式を選択します。
主な判断基準は以下の通りです。
・サービス停止が許容されるか
・データベースのサイズ
・復旧要件(どの時点まで戻したいか)
これらをもとに、一般的には以下のように選択します。
| 条件 | バックアップ方式 | 特徴 |
|---|---|---|
| 停止可能 | オフラインバックアップ | シンプルで確実 |
| 停止不可(中小規模) | オンラインバックアップ | 実務で最も一般的 |
| 停止不可(大規模) | ストレージコピー | 高速だがコスト増 |
例えば、24時間稼働のシステムではオフラインは現実的ではなく、オンラインバックアップまたはストレージ機能の利用が前提となります。
このように、Db2では「まず方式を決める」ことが運用設計の出発点になります。
なお、ストレージを用いたバックアップについては以下の記事でまとめています。
Db2のスプリットミラーとは?FlashCopyを使った高速バックアップのポイントを解説
オンラインバックアップの仕組みとログの役割
実務で最も重要なのがオンラインバックアップの理解です。
オンラインバックアップは、データベースを停止せずに取得できる反面、取得中も更新処理が継続されます。そのため、バックアップイメージ単体では完全な状態にはなりません。
ここで重要になるのがトランザクションログです。
オンラインバックアップでは以下の流れで復旧を行います。
・バックアップをリストアする
・トランザクションログを適用する(ロールフォワード)
これにより、バックアップ取得時点または任意の時点までデータを復元することが可能になります。
逆に言えば、ログが欠けている場合は完全なリカバリーはできません。
そのため、オンラインバックアップを採用する場合は、アーカイブログ方式で運用されていることが前提となります。
このトランザクションログの仕組みや管理方法については、以下の記事で詳しく解説しています。
Db2のログと回復管理とは?トランザクションログの仕組みと実務運用を解説
バックアップ対象と見落としやすいポイント
Db2のBACKUPコマンドで取得できるのは、あくまで「データベース本体」です。
実務で重要なのは、バックアップに含まれないものの存在です。
代表的な例として以下があります。
・DBM構成パラメータ
・環境変数やプロファイル
・ストアドプロシージャや外部プログラム
・カタログ情報
・インスタンス設定
これらはバックアップイメージには含まれないため、別途保管しておく必要があります。
特にディスク障害などでインスタンス自体が失われた場合、これらの情報がなければ完全復旧はできません。
そのため、db2lookやdb2supportの出力を保存しておく、設定ファイルをバックアップするなどの対応が必要になります。
運用で差が出るポイント(世代管理・保管・最適化)
バックアップは「取得して終わり」ではなく、運用が重要です。
まず重要なのが世代管理です。
バックアップやログは増え続けるため、不要な世代を削除する仕組みが必要になります。Db2では自動削除機能も用意されていますが、別ストレージに退避したファイルは手動管理が必要になります。
また、バックアップとログは必ずセットで保管します。
さらに、障害対策として別ディスクや別拠点への退避も検討する必要があります。
パフォーマンス面では、以下のような最適化も重要です。
・並列処理(PARALLELISM)
・バッファ調整
・バックアップ圧縮
・増分バックアップ
特に大規模環境では、これらの調整によってバックアップ時間やストレージ使用量が大きく変わります。
詳細な手順や実践的な考慮点
本記事では全体像を解説しましたが、実際の運用ではさらに詳細な手順や考慮点が必要になります。
例えば以下のような内容です。
・オンラインバックアップとリストアの具体的なコマンド
・ロールフォワードの実行手順
・ストレージコピー(スプリットミラー)の活用
・クラスタ構成やHADR環境でのバックアップ
・テープ装置を使ったバックアップ
・バックアップペンディングの対応
これらについては、IBMの公式資料で非常に詳しく解説されています。
特に、運用パターンの考え方や実際の手順、注意点まで網羅的に整理されているため、実務でバックアップ設計を行う際は一度目を通しておくことをおすすめします。
まとめ
Db2のバックアップとリカバリーでは、方式の選定と運用設計が重要です。
・要件に応じてバックアップ方式を選ぶ
・オンラインバックアップではログ管理が必須
・バックアップ対象外の情報も別途管理する
・世代管理や保管方法まで含めて設計する
これらを理解しておくことで、障害発生時にも確実にデータを復旧できる運用を構築することができます。


コメント