こんにちは、キャスレーコンサルティング SI(システム・インテグレーション)部 石田です。
本ブログはアプリケーション開発ではなく、インフラ向けの技術ブログです。

今回は筆者が現場業務にあたって改めて学習した内容の中から、DB2のバックアップについて紹介します。

[参考文献] 即戦力のDB2管理術 著作者:下左粉 昭 出版:技術評論社

データベース設計、特にデータベースバックアップで生かせる技術です。
データベースバックアップの要件は多岐に渡りますので、今回は「DB2におけるデータベースの差分バックアップ取得」を
想定して紹介させて頂きます。

目次

1. データベースバックアップ
2. DB2におけるデータベース差分バックアップ
3. 最後に

1. データベースバックアップ

■バックアップの目的

データベースの設計で大切なことは、データの保全について検討することです。
つまり、何時でも復旧できるようバックアップを取得することです。
データベースの論理障害や物理障害に対して、データの即時復旧が必要になるからです。

下記にデータベースの主な障害を記載します。
①ハードウェアの故障(物理障害)
②人間のオペレーションミス(論理障害)
③アプリケーションのロジック, OSやミドルウェアのバグ(論理障害)

■データベースのバックアップ取得操作

データベース名にtestDB、バックアップ取得先にC:\backupsを指定した場合の操作を記載します。

#データベースのフルバックアップは下記コマンドで取得できます。
 >  db2 "BACKUP DATABASE testDB TO C:\backups"

#バックアップの結果は下記コマンドで確認できます。
 >  db2 "LIST HISTORY BACKUP ALL FOR testDB"

2. DB2におけるデータベース差分バックアップ

バックアップの運用に求められるものとして、「バックアップのイメージサイズを小さくしたい」という要望があります。
差分バックアップは前回のバックアップから変更された分だけ保存する機能です。
DB2における差分バックアップは下記2通りです。

①INCREMENTAL(累積)

直近のフルバックアップからの差分をバックアップする。(差分を抽出する対象は直近のフルバックアップ)
ブログ図1

②INCREMENTAL DELTA(デルタ)

直近のバックアップからの差分をバックアップする。(差分を抽出する対象は直近のバックアップ)
リストア時には、全ての差分バックアップが必要。

ブログ図2

■ DB2の差分バックアップ操作

DB2の差分バックアップ操作を下記に記載します。
※差分バックアップ取得前に、データベース定義ファイル変更およびフルバックアップの取得が必要です。

#①データベース定義ファイルの変更(差分バックアップ取得設定)
 >  db2 "UPDATE DB CFG FOR testDB USING TRACKMOD YES"

#②フルバックアップの取得
 >  db2 "BACKUP DATABASE testDB TO C:\backups"

#③差分バックアップの取得(累積バックアップ)
 >  db2 "BACKUP DATABASE testDB INCREMENTAL TO C:\backups"

#③差分バックアップの取得(デルタバックアップ)
 >  db2 "BACKUP DATABASE testDB INCREMENTAL DELTA TO C:\backups"

3. 最後に

DB2を初めて扱う方々のために、少しでもお力になれればと思い、簡単ですが紹介させて頂きました。
最後までお読みくださりありがとうございました。

[参考文献] 即戦力のDB2管理術 著作者:下左粉 昭 出版:技術評論社