MEDIUMサービス同時実行制限の変更(ECPUコンピュート・モデル)

アプリケーションでカスタマイズされた同時実行性が必要な場合は、Autonomous Database MEDIUMサービスの同時実行性制限を変更できます。

事前定義済サービスのいずれかを選択すると、ほとんどのアプリケーションで適切に機能する同時実行性の値が提供されます。デフォルト・サービスのいずれかを選択してもアプリケーションのパフォーマンス・ニーズを満たさない場合は、MEDIUMサービスを使用して同時実行性制限を変更できます。たとえば、シングルユーザー・ベンチマークを実行する場合、最大並列度(DOP)を取得するために、MEDIUMサービスの同時実行性制限を1に設定できます。

ノート

同時実行性制限の変更は、4つ以上のECPUを持つインスタンスに対してのみ許可されます。

たとえば、コンピュート自動スケーリングが無効になっている場合、インスタンスが400 ECPUで構成されている場合、Autonomous DatabaseではデフォルトでMEDIUMサービスに対して同時実行性制限100が提供されます:

0.25125 x number of ECPUsセッション(最大100個の同時問合せ)。10進数の結果は切り捨てられます。

この例では、MEDIUMサービスは、DOPが4の同時問合せが最大100のアプリケーションをサポートしています。同時問合せが50個のみで、DOPを大きくする場合は、同時実行性の制限を減らし、データベースでDOPを増やすことができます。これを行うには、MEDIUMサービスの同時実行性制限を50に設定します。同時実行性制限を変更すると、選択した同時実行性制限およびECPU数に基づいてDOPが計算および設定されます。この例では、同時実行性の制限が50に設定されており、新しいDOPは12です。

「自動スケーリングの計算」を有効にすると、DOPは3倍大きい値に設定されます。この例では、DOP値は36になります。

データベース・アクションまたはPL/SQLパッケージCS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVEを使用して、MEDIUMサービスの同時実行性制限を変更できます。

データベース・アクションでMEDIUMサービスの同時実行性制限を変更するには、次のステップを実行します。

  1. ADMINユーザーとしてデータベース・アクションへのアクセス。
  2. データベース・アクションの起動パッドの「管理」で、「Resource Managementルールの設定」をクリックします。
  3. 「Resource Management Rulesの設定」ページで、「同時実行性制限」タブを選択します。
  4. MEDIUMサービスの場合、値を入力する、または「減少」または「増分」アイコンをクリックして、必要な同時実行性制限値に変更します。

    指定した同時実行性の制限が有効でない場合、ECPUの数に基づいて、インスタンスの有効な値の範囲をリストする次のようなメッセージが表示されます。

    Enter a number between 1 and 12.
  5. 「変更の保存」をクリックします。
  6. 「OK」をクリックします。

MEDIUMサービスの同時実行性制限をデフォルト値にリセットするには、「デフォルト値のロード」をクリックし、「変更の保存」をクリックします。

PL/SQLプロシージャUPDATE_PLAN_DIRECTIVEを使用したMEDIUMサービス同時実行制限の変更(ECPUコンピュート・モデル)

データベース・アクションで「Resource Managementルールの設定」カードを使用するかわりに、PL/SQLを使用して、MEDIUMサービスの同時実行性制限を変更できます。

CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVEを使用してMEDIUMサービス同時実行制限を変更するには:

  1. PL/SQLプロシージャCS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVEをコールして、MEDIUMコンシューマ・グループの同時実行性制限を更新します。

    たとえば、12個のECPUで、次のようにMEDIUMサービスの同時実行性制限を2に変更します。

    BEGIN
        CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(consumer_group => 'MEDIUM', concurrency_limit => 2); 
    END;
    /
    

    指定したconcurrency_limitが有効でない場合、ECPUの数に基づいて、インスタンスの有効な値の範囲をリストするエラー・メッセージが表示されます。たとえば、12個のECPUの場合:

    ORA-20000: Invalid or missing value. Concurrency limit must be between 1 and 9 for the specified CPU count

    このエラー・メッセージの例は、12個のECPUを持つインスタンスからのものです。

  2. PL/SQLファンクションCS_RESOURCE_MANAGER.LIST_CURRENT_RULESを使用して、更新されたMEDIUMサービスの同時実行性の制限および並列度を確認します。
    SELECT * FROM CS_RESOURCE_MANAGER.LIST_CURRENT_RULES();

    このプロシージャは、すべてのコンシューマ・グループの値リストを返します。ステップ1で指定した同時実行性制限を変更したら、MEDIUMサービスのCONCURRENCY_LIMITおよびDEGREE_OF_PARALLELISMの値をチェックして変更を確認します。

  3. MEDIUMサービスの同時実行性制限を変更した後、MEDIUMサービスに接続してアプリケーションをテストし、カスタマイズされた同時実行性制限がパフォーマンス目標を満たしていることを確認します。

デフォルト値に戻す場合は、CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES PL/SQLプロシージャを使用して、MEDIUMサービスのデフォルト設定に戻します。

たとえば:

BEGIN
    CS_RESOURCE_MANAGER.REVERT_TO_DEFAULT_VALUES(consumer_group => 'MEDIUM', concurrency_limit => TRUE);
END;
/

詳細は、CS_RESOURCE_MANAGERパッケージを参照してください。

MEDIUMサービス同時実行制限の変更(ECPUコンピュート・モデル)

  • 同時実行制限の変更は、MEDIUMサービスに対してのみ許可されます。

  • 同時実行制限の変更は、ECPUの数が4以上の場合にのみ許可されます。

  • 同時実行制限を変更すると、並列度も変更されます(古い同時実行制限と設定した新しい値の差の大きさによっては、値が変更されない場合があります)。

  • 設定する同時実行制限は、次の範囲内である必要があります。

    • コンピュート自動スケーリングが無効になっている場合: 1から.75 x the number of ECPUsの間
    • コンピュート自動スケーリングが有効な場合: 1から2.25 x the number of ECPUs
  • MEDIUMサービスでは、デフォルトで次の同時実行制限およびDOP値を設定します。

    MEDIUM Databaseサービス 自動スケーリングの計算が無効なデフォルト値 自動スケーリングの計算が有効になっているデフォルト値

    同時実行制限

    0.25125 × number of ECPUs(ECPUの数が8より大きい場合)

    10進数の結果は切り捨てられます

    2: ECPUの数が4 ≤ ECPUs < 8の範囲内にある場合

    0.75375 × number of ECPUs(ECPUの数が8より大きい場合)

    10進数の結果は切り捨てられます

    6: ECPUの数が4 ≤ ECPUs < 8の範囲内にある場合

    DOP

    4 ECPUの数が8以上の場合

    または

    TRUNC (ECPU/2) (ECPUの数が8未満の場合)

    4 ECPUの数が8以上の場合

    または

    TRUNC (ECPU/2) (ECPUの数が8未満の場合)

  • 同時実行制限の値を変更すると、MEDIUMサービスのDOPは2以下で、.75 * number of ECPUs (「自動スケーリングの計算」が無効になっている場合)または2.25 x number of ECPUs (「自動スケーリングの計算」が有効になっている場合)になります。

    自動スケーリングの計算の詳細は、自動スケーリングの使用を参照してください。

  • MEDIUMサービス同時実行制限およびDOPのデフォルト値はいつでも戻すことができます。