IBM Support

[DB2 LUW] バックアップ・イメージのサイズを小さくする方法

技術情報(FAQs)


質問

BACKUP DATABASE コマンドで生成されるバックアップ・イメージのファイル・サイズを小さくする方法はありますか。

回答

バックアップ・イメージのサイズを小さくするには、次の 2 つのオプションがあります。

    1. バックアップ・イメージを圧縮する
    2. バックアップ・イメージの内容を減らす

以下に 2 つのオプションの具体的な適用方法を示します。

a. バックアップ・イメージを圧縮する

BACKUP DATABASE コマンドの COMPRESS オプションを利用して、バックアップ・イメージを圧縮できます。
    構文例
    db2 BACKUP DATABASE <データベース名> online to <出力先パス名> COMPRESS

    実行例
    $ db2 backup database SAMPLE online to /work/backups compress
    バックアップは成功しました。 このバックアップ・イメージのタイム・スタンプは20100526095213 です。

b. バックアップ・イメージの内容を減らす

バックアップ・イメージには主に以下の内容が含まれています。バックアップ取得前に以下の内容を小さくしておくとバックアップ・イメージも小さくなります。
    1. 表スペース・コンテナ (各表スペースの最高水準点まで)
    2. データベース・メタデータ

i. 表スペース・コンテナのサイズを小さくするには、以下の FAQ を参照してください。

ii. データベース・メタデータは、データベース・ディレクトリに配置されたファイルです。
    メタデータの中で特にサイズが大きくなる可能性があるファイルと対処方法を示します。
    • リカバリー履歴ファイル (DB2RHIST.*)
      PRUNE HISTORY コマンドによる手動のプルーニングを行うか、データベース構成パラメーター rec_his_retentn を小さく設定し、より短い期間で自動的にプルーニングされるようにします。
      詳細な手順は以下の FAQ を参照してください。
      [DB2 LUW] データ量が同じでも BACKUP や LOAD の実行時間が長くなる
    • 表スペース情報ファイル (SQLSPCS.*)
      データベースに多くの表スペースを定義すると、表スペース情報ファイルが肥大化します。
      多くの表スペースを定義した後で表スペースを削除しても、より大きい表スペース ID の表スペースが残っていると表スペース情報ファイルは小さくなりません。

オンライン・バックアップではデフォルトで最低限のロールフォワードに必要なアクティブ・ログもバックアップ・イメージに含まれます。このため、大きな LOGFILSIZ を設定していたり、バックアップ開始時点で長いトランザクションを実行していた場合、バックアップ・イメージに含まれるログ・ファイルの総量が大きくなります。


運用上の考慮点
  • 異なるプラットフォームへのリストア
    32 ビット・インスタンスで COMPRESS オプションを指定して取得したデータベース・バックアップを、互換性のある 64 ビット・インスタンスにリストアする場合は COMPRLIB オプションで圧縮ライブラリーを明示的に指定します。
    COMPRLIB オプションを指定しない場合、以下のように SQL2570N でリストアが失敗します。バックアップイメージに含まれている圧縮ライブラリーが 32 ビット・インスタンス用であり、64 ビット・インスタンスでは実行できないためです。

    $ db2 restore database SAMPLE from /data/backup
    SQL2570N  オペレーティング・システムの非互換性またはリストア・
    コマンドの不正確な仕様のために、ソース OS "AIX-32" 上で作成
    されたバックアップからのターゲット OS "AIX-64" へのリストア
    の試行は失敗しました。理由コード: "2"

    $ db2 restore database SAMPLE from /data/backup comprlib libdb2compr.a
    DB20000I  RESTORE DATABASE コマンドが正常に完了しました。

    指定する圧縮ライブラリーは、以下のとおりプラットフォームごとに異なります。
    * AIX: libdb2compr.a
    * Solaris: libdb2compr.so
    * HP-UX: libdb2compr.sl
    * Linux: libdb2compr.so
    * Windows: db2compr.dll

    異なるプラットフォーム間におけるバックアップ・イメージの互換性については、以下の FAQ を参照してください。
    [DB2 LUW] バックアップ・イメージの互換性
  • バックアップ・バッファーサイズの考慮
    BACKUP DATABASE コマンドは、バックアップ・バッファー単位でデータベースの内容をバックアップ・イメージに追記します。バックアップ・バッファーが相対的に大きい場合、コンテナなどの内容を縮小してもバックアップ・イメージのサイズに影響を与えない可能性があります。
    例えば、バッファー・サイズが 10MB の場合、コンテナ・サイズを 19MB から 11MB に縮小してもバックアップ・イメージのサイズは変わりません。
  • イメージの自動的な縮小

関連情報
[DB2 LUW] パスポート・アドバンテージによく寄せられる質問
BACKUP DATABASE コマンド
RESTORE DATABASE コマンド
異なるオペレーティング・システムおよびハードウェア・プラットフォーム間のバックアップおよびリストア操作
SQL2570N when restoring a compressed database backup to a 64-bit instance
データベース・ディレクトリーおよびファイル
リカバリー履歴ファイルのプルーニング

Document information

More support for: DB2 for Linux, UNIX and Windows
OTHER - Uncategorised

Software version: 9.5, 9.7, 10.1, 10.5

Operating system(s): AIX, HP-UX, Linux, Solaris, Windows

Reference #: 1626758

Modified date: 02 October 2015