Autonomous Databaseでの不要なSQL文の管理

問合せ実行時間またはIO使用率に基づいてSQL文を自動的に終了するようにAutonomous Databaseを構成する方法を指定します。

データベース・アクションで、またはPL/SQLパッケージCS_RESOURCE_MANAGERを使用して、問合せ実行時間およびIO使用率のランタイム・ランナウェイ・ルールを設定できます。

データベース・アクションを使用してランタイム使用ルールを設定するには、次のステップを実行します:

  1. ADMINユーザーとしてデータベース・アクションにアクセスします。
  2. データベース・アクション起動パッドの「管理」で、「Resource Managementルールの設定」をクリックします。
  3. 「Run-away criteria」タブを選択し、コンシューマ・グループの使用ルールを設定します。
  4. 「コンシューマ・グループ」を選択します。
  5. 不要な基準の値を設定します。
    • 問合せ実行時間(秒)

    • IOの量(MB)

  6. 「変更の保存」をクリックします。
  7. 「OK」をクリックします。

指定されたコンシューマ・グループ内のSQL文が、指定された実行時間制限を超えて実行されるか、指定された量より多くのIOを実行すると、SQL文は終了します。

「デフォルト値のロード」をクリックしてデフォルト値をロードしてから、「変更の保存」をクリックして移入された値を適用します。

プロシージャCS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVEを使用してこれらのルールを設定することもできます。たとえば、HIGHコンシューマ・グループの実行時間制限を120秒に、IO制限を1000MBに設定するには、ADMINユーザーとしてデータベースに接続しているときに次のコマンドを実行します:

BEGIN
     CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(consumer_group => 'HIGH', io_megabytes_limit => 1000, elapsed_time_limit => 120);
END;
/	

値をリセットして制限を解除するには、値をnullに設定します:

BEGIN
     CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE(consumer_group => 'HIGH', io_megabytes_limit => null, elapsed_time_limit => null);
END;
/	

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