パーティション・データベース環境でのセルフチューニング・メモリーの使用

パーティション・データベース環境でセルフチューニング・メモリーが有効な場合、データベース・パーティションが 1 つ (チューニング・パーティション と呼ばれる) 存在します。これは、メモリー構成をモニターして、構成変更があればそれを他のすべてのデータベース・パーティションに伝搬し、すべての関連するデータベース・パーティション間で構成の整合性を保持します。

チューニング・パーティションは、パーティション・グループのデータベース・パーティションの数およびバッファー・プールの数などの、幾つかの特性に基づいて選択されます。

  • チューニング・パーティションとして現在指定されているデータベース・パーティションを判別するには、ADMIN_CMD プロシージャーを以下のように呼び出します。
    CALL SYSPROC.ADMIN_CMD('get stmm tuning dbpartitionnum')
  • チューニング・パーティションを変更するには、ADMIN_CMD プロシージャーを以下のように呼び出します。
    CALL SYSPROC.ADMIN_CMD('update stmm tuning dbpartitionnum <partitionnum>')
    チューニング・パーティションは、非同期で更新されるか、次回のデータベース始動時に更新されます。 メモリー・チューナーが自動的にチューニング・パーティションを選択するようにするには、partitionnum 値に -1 を入力します。

パーティション・データベース環境でのメモリー・チューナーの開始

パーティション・データベース環境では、メモリー・チューナーは、データベースが明示的な ACTIVATE DATABASE コマンドによって活動化された場合にのみ開始されます。セルフチューニング・メモリーでは、すべてのパーティションがアクティブである必要があるためです。

指定のデータベース・パーティションでセルフチューニング・メモリーを無効にする

  • データベース・パーティションのサブセットに対してセルフチューニング・メモリーを無効にするには、それらのデータベース・パーティションに対して self_tuning_mem データベース構成パラメーターを OFF に設定します。
  • 特定のデータベース・パーティションの構成パラメーターによって制御された、メモリー・コンシューマーのサブセットに対してセルフチューニング・メモリーを無効にするには、関連する構成パラメーターの値またはバッファー・プール・サイズの値を MANUAL またはそのデータベース・パーティションの特定の値に設定します。 セルフチューニング・メモリーの構成パラメーターの値は、すべての稼働パーティション間で整合させることをお勧めします。
  • 特定のデータベース・パーティションの特定のバッファー・プールでセルフチューニング・メモリーを無効にするには、ALTER BUFFERPOOL ステートメントを発行し、サイズ値と、セルフチューニング・メモリーを無効にするパーティションを指定します。
    特定のデータベース・パーティション上のバッファー・プールのサイズを指定する ALTER BUFFERPOOL ステートメントは、そのバッファー・プールに関する例外項目を SYSCAT.BUFFERPOOLDBPARTITIONS カタログ・ビューに作成します (または既存の項目を更新します)。 バッファー・プールの例外項目が存在する場合に、デフォルトのバッファー・プール・サイズが AUTOMATIC に設定されていると、そのバッファー・プールはセルフチューニング操作に関与しません。 例外項目を除去して、バッファー・プールをセルフチューニング用に有効にするには、以下のようにします。
    1. ALTER BUFFERPOOL ステートメントを発行して、バッファー・プール・サイズを特定の値に設定することにより、このバッファー・プールのセルフチューニングを使用不可にします。
    2. 別の ALTER BUFFERPOOL ステートメントを発行し、このデータベース・パーティション上のバッファー・プールのサイズを、ステップ 1 で指定したサイズ値に設定します。
    3. 別の ALTER BUFFERPOOL ステートメントを発行して、バッファー・プール・サイズを AUTOMATIC に設定することにより、このバッファー・プールのセルフチューニングを使用可能にします。

非均一環境でセルフチューニング・メモリーを有効にする

データをすべてのデータベース・パーティションに均一に配分し、各パーティションで実行されるワークロードが同様のメモリー要求量を持つのが理想的です。 データ配分に偏りがあり、1 つ以上のデータベース・パーティションに他のデータベース・パーティションよりもかなり多い (または非常に少ない) データが含まれる場合、これらの変則的なデータベース・パーティションをセルフチューニング用に有効にするべきではありません。 メモリー所要量がデータベース・パーティション間で偏っている場合にも同じことが当てはまります。 これが生じる可能性があるのは、例えば、リソースを多く使用するソートが 1 つのパーティションでのみ実行される場合、または一部のデータベース・パーティションが別のハードウェアと関連付けられており、他のデータベース・パーティションよりも使用可能メモリーが多い場合です。 このタイプの環境にある一部のデータベース・パーティションでは、セルフチューニング・メモリーを有効にすることができます。 偏りがある環境でメモリーのセルフチューニングを活用するには、同様のデータおよびメモリー所要量のデータベース・パーティションのセットを識別し、セルフチューニング用にそれらを有効にします。 残りのパーティションのメモリーは手動で構成してください。