バックアップのパフォーマンスの最適化
- WITH num-buffers BUFFERS
- PARALLELISM n
- BUFFER buffer-size
バッファーの数とバッファー・サイズを指定しないと、Db2 データベース・マネージャーにより値が設定されますが、大規模データベースでは影響は最小限になるはずです。 しかし、小規模なデータベースの場合、かなりの比率でバックアップ・イメージ・サイズが大きくなることがあります。 ディスクに書き込まれた最新のデータ・バッファーに含まれているデータが小さい場合でも、とにかくバッファー全体がイメージに書き込まれます。 したがって、小規模なデータベースでは、相当なパーセンテージのイメージ・サイズが空になる可能性があることになります。
さらに、バックアップ操作を完了するために必要な時間を短縮するために、 以下のいずれかを実行することを選択できます。
- 表スペース・バックアップを指定します。
BACKUP DATABASE コマンドの TABLESPACE オプションを使用して、データベースの一部をバックアップ (および後でリカバリー) することができます。 この作業を行うと、表データ、索引、 およびロング・フィールドやラージ・オブジェクト (LOB) のデータを別個の表スペースで管理しやすくなります。
- BACKUP DATABASE コマンドの PARALLELISM パラメーターの値を増やして、バックアップされる表スペースの数を反映するようにします。
PARALLELISM パラメーターは、データベースからデータを読み取るときや圧縮バックアップ操作時にデータの圧縮を実行するときに開始されるプロセッサー数またはスレッド数を定義します。 各処理またはスレッドは特定の表スペースに割り当てられるため、PARALLELISM パラメーターに、 バックアップされる表スペースの数よりも大きい値を指定する利点はありません。 処理またはスレッドが、表スペースのバックアップを終了させると、別の表スペースを要求します。 しかし、それぞれの処理またはスレッドでは、 メモリーと CPU の両方のオーバーヘッドが必要になることに注意してください。
- バックアップ・バッファー・サイズを大きくします。
理想的なバックアップ・バッファー・サイズは、表スペースのエクステント・サイズの倍数に 1 ページを加えたものです。 複数の表スペースがありそれぞれエクステント・サイズが異なる場合は、 エクステント・サイズの公倍数に 1 ページを加えた値を指定します。
- バッファー数を増やします。
少なくともバックアップ先 (またはセッション) の 2 倍のバッファーを使用し、 バックアップ先装置がデータを待つ状態にならないようにします。
- 複数のターゲット装置を使用します。
DB2_REDUCE_FLUSHING_DURING_BACKUP パフォーマンス・レジストリー変数を有効にして、オンライン・バックアップ操作のためにバッファー・プール内の変更ページのフラッシュを削減することを検討してください。