Question & Answer
Question
BACKUP DATABASE コマンドで生成されるバックアップ・イメージのファイル・サイズを小さくする方法はありますか。
Answer
バックアップ・イメージのサイズを小さくするには、次の 2 つのオプションがあります。
オンライン・バックアップではデフォルトで最低限のロールフォワードに必要なアクティブ・ログもバックアップ・イメージに含まれます。このため、大きな LOGFILSIZ を設定していたり、バックアップ開始時点で長いトランザクションを実行していた場合、バックアップ・イメージに含まれるログ・ファイルの総量が大きくなります。
運用上の考慮点
- バックアップ・イメージを圧縮する
- バックアップ・イメージの内容を減らす
以下に 2 つのオプションの具体的な適用方法を示します。
- バックアップ・イメージを圧縮する
BACKUP DATABASE コマンドの COMPRESS オプションを利用して、バックアップ・イメージを圧縮できます。
ただし、圧縮するとバックアップの所要時間は倍から数倍になる可能性があります。構文例db2 BACKUP DATABASE <データベース名> online to <出力先パス名> COMPRESS
実行例$ db2 backup database SAMPLE online to /work/backups compress バックアップは成功しました。 このバックアップ・イメージのタイム・スタンプは20100526095213 です。
- バックアップ・イメージの内容を減らす
バックアップ・イメージには主に以下の内容が含まれています。バックアップ取得前に以下の内容を小さくしておくとバックアップ・イメージも小さくなります。- 表スペース・コンテナ (各表スペースの最高水準点まで)
表スペース・コンテナのサイズを小さくするには、以下の FAQ を参照してください。
[Db2] 表スペース・コンテナーに確保された領域を解放する方法 - データベース・メタデータ
メタデータの中で特にサイズが大きくなる可能性があるファイルと対処方法を示します。- リカバリー履歴ファイル (DB2RHIST.*)
PRUNE HISTORY コマンドによる手動のプルーニングを行うか、データベース構成パラメーター rec_his_retentn を小さく設定し、より短い期間で自動的にプルーニングされるようにします。
詳細な手順は以下の FAQ を参照してください。
[Db2] データ量が同じでも BACKUP や LOAD の実行時間が長くなる - 表スペース情報ファイル (SQLSPCS.*)
データベースに多くの表スペースを定義すると、表スペース情報ファイルが肥大化します。
多くの表スペースを定義した後で表スペースを削除しても、より大きい表スペース ID の表スペースが残っていると表スペース情報ファイルは小さくなりません。
- リカバリー履歴ファイル (DB2RHIST.*)
- 表スペース・コンテナ (各表スペースの最高水準点まで)
オンライン・バックアップではデフォルトで最低限のロールフォワードに必要なアクティブ・ログもバックアップ・イメージに含まれます。このため、大きな 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] バックアップ・イメージの互換性
- バックアップ・バッファーサイズの考慮
BACKUP DATABASE コマンドは、バックアップ・バッファー単位でデータベースの内容をバックアップ・イメージに追記します。バックアップ・バッファーが相対的に大きい場合、コンテナなどの内容を縮小してもバックアップ・イメージのサイズに影響を与えない可能性があります。
例えば、バッファー・サイズが 10MB の場合、コンテナ・サイズを 19MB から 11MB に縮小してもバックアップ・イメージのサイズは変わりません。
- イメージの自動的な縮小
Db2 9.5 以降は、バックアップ時に削除ペンディングとマークされたエクステントが解放されるため、バックアップ操作を行うだけでバックアップ・イメージが以前より小さくなることがあります。
詳細は以下の FAQ を参照してください。
[Db2] 明示的に表スペースを縮小しなくても、バックアップ・イメージが小さくなることがある
- 暗号化データベースのバックアップ圧縮は特定のライブラリーを指定する必要があります。従来の圧縮オプションを指定しただけでは圧縮されません。
[Db2] 暗号化データベースのバックアップを圧縮する方法
[{"Type":"MASTER","Line of Business":{"code":"LOB10","label":"Data and AI"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"ARM Category":[{"code":"a8m3p0000006wjpAAA","label":"Backup"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]
Was this topic helpful?
Document Information
Modified date:
31 August 2023
UID
swg21626758