Gestion des instructions SQL bloquées sur Autonomous Database

Indique comment configurer Autonomous Database pour mettre fin automatiquement aux instructions SQL en fonction de l'exécution de requête ou de l'utilisation d'E/S.

Vous pouvez définir des règles d'exécution bloquées pour la durée d'exécution de requête et l'utilisation d'E/S dans Database Actions ou à l'aide du package PL/SQL CS_RESOURCE_MANAGER.

Pour utiliser Database Actions afin de définir des règles d'utilisation d'exécution, procédez comme suit :

  1. Accédez à Database Actions en tant qu'utilisateur ADMIN.

    Pour plus d'informations, reportez-vous à Accès à Database Actions en tant qu'ADMIN.

  2. Dans le panneau de lancement de Database Actions, sous Administration, cliquez sur Définir les règles de Resource Management.
  3. Sélectionnez l'onglet Critères bloqués pour définir les règles d'utilisation d'un groupe de destinataires.
  4. Sélectionnez le groupe de destinataires.
  5. Définissez les valeurs de critères bloqués :
    • Durée d'exécution de la requête (secondes)

    • Quantité d'E/S (Mo)

  6. Cliquez sur Enregistrer les modifications.
  7. Cliquez sur OK.

Lorsqu'une instruction SQL dans le groupe de destinataires indiqué est exécutée au-delà de la limite d'exécution indiquée ou qu'elle effectue plus d'E/S que la quantité indiquée, l'instruction SQL prend fin.

Cliquez sur Load Default Values pour charger les valeurs par défaut, puis sur Save Changes pour appliquer les valeurs indiquées.

Vous pouvez également utiliser la procédure CS_RESOURCE_MANAGER.UPDATE_PLAN_DIRECTIVE pour définir ces règles. Par exemple, pour définir une limite d'exécution de 120 secondes et une limite d'E/S de 1000 Mo pour le groupe de consommateurs de ressources HIGH, exécutez la commande suivante lorsque vous êtes connecté à la base de données en tant qu'utilisateur ADMIN :

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

Pour réinitialiser les valeurs et enlever les limites, vous pouvez définir les valeurs sur NULL :

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

Pour plus d'informations, reportez-vous à Package CS_RESOURCE_MANAGER.