バックアップのパフォーマンスの最適化

バックアップ操作を実行すると、 Db2® データベース・マネージャーは、バッファー数、バッファー・サイズ、および並列処理設定の最適値を自動的に選択します。 この値は、使用可能なユーティリティー・ヒープ・メモリーの大きさ、 使用可能なプロセッサー数、およびデータベース構成に基づきます。 したがって、システムに使用可能なストレージの量によっては、util_heap_sz 構成パラメーターを増やして、より多くのメモリーを割り振ることを検討します。
目的は、バックアップ操作の完了にかかる時間を最小限に抑えることです。 以下の BACKUP DATABASE コマンド・パラメーターの値を明示的に入力しない限り、 Db2 データベース・マネージャーはそれらの値を選択します。
  • 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 パフォーマンス・レジストリー変数を有効にして、オンライン・バックアップ操作のためにバッファー・プール内の変更ページのフラッシュを削減することを検討してください。