View a markdown version of this page

Real-time Gestion des plans SQL dans RDS pour Oracle - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Real-time Gestion des plans SQL dans RDS pour Oracle

À partir d'Oracle Database 26ai (26.0.0.0), Amazon RDS for Oracle prend en charge la gestion des plans SQL en temps réel. Cette fonctionnalité empêche les régressions des performances SQL en détectant les modifications du plan d'exécution, en les évaluant par rapport aux plans antérieurs et en sélectionnant le plan le plus performant à partir d'une base de plan SQL selon les besoins. Ce processus est transparent et ne nécessite aucune intervention manuelle.

Pour activer la gestion des plans SQL en temps réel sur RDS pour Oracle, vous DBMS_SPM.CONFIGURE devez activer la tâche d'évolution automatique. Vous utilisez ensuite le rdsadmin.rdsadmin_spm_util package pour configurer les paramètres de la SYS-owned tâche.

Présentation de

Une régression des performances SQL se produit lorsque l'optimiseur Oracle choisit un nouveau plan d'exécution moins performant qu'un plan précédent. Real-time La gestion des plans SQL automatise la détection et la prévention de ces régressions.

Lorsque la gestion des plans SQL en temps réel est activée, la base de données effectue les opérations suivantes :

  1. Détecte les modifications du plan d'exécution en temps réel.

  2. Évalue les performances du nouveau plan par rapport aux plans précédents.

  3. Crée ou met à jour automatiquement les lignes de base du plan SQL.

  4. Sélectionne le plan le plus performant pour éviter les régressions.

Exigences

Pour utiliser la gestion des plans SQL en temps réel, votre instance de base de données doit répondre aux exigences suivantes :

  • Oracle Database 26ai ou supérieur

  • Oracle Enterprise Edition

Permettre la gestion des plans SQL en temps réel

Pour activer la gestion des plans SQL en temps réel, effectuez les deux étapes suivantes.

Étape 1 : activer la tâche d'évolution automatique du SPM

Exécutez l'instruction suivante en tant qu'utilisateur principal ou en tant qu'utilisateur doté du rôle DBA :

BEGIN DBMS_SPM.CONFIGURE('AUTO_SPM_EVOLVE_TASK', 'AUTO'); END; /

Étape 2 : configurer les paramètres de la SYS-owned tâche

La SYS_AUTO_SPM_EVOLVE_TASK tâche appartient à SYS. RDS for Oracle fournit le rdsadmin.rdsadmin_spm_util package à cette fin.

Définissez cette ACCEPT_PLANS valeur pour TRUE que la base de données accepte automatiquement les plans évolués :

EXEC rdsadmin.rdsadmin_spm_util.set_evolve_task_accept_plans('TRUE');

(Facultatif) Définissez la source de plan alternative pour AUTO :

EXEC rdsadmin.rdsadmin_spm_util.set_evolve_task_alternate_plan_source('AUTO');

Vérification de la configuration

Pour vérifier que la gestion des plans SQL en temps réel est activée, exécutez la requête suivante :

SELECT parameter_value FROM DBA_SQL_MANAGEMENT_CONFIG WHERE parameter_name = 'AUTO_SPM_EVOLVE_TASK';

La requête est renvoyéeAUTO.

Pour vérifier les paramètres de la tâche, exécutez la requête suivante :

SELECT parameter_name, parameter_value FROM DBA_ADVISOR_PARAMETERS WHERE task_name = 'SYS_AUTO_SPM_EVOLVE_TASK' AND parameter_name IN ('ACCEPT_PLANS', 'ALTERNATE_PLAN_SOURCE');

Désactivation de la gestion des plans SQL en temps réel

Pour désactiver la gestion des plans SQL en temps réel, exécutez l'instruction suivante :

BEGIN DBMS_SPM.CONFIGURE('AUTO_SPM_EVOLVE_TASK', 'OFF'); END; /

procédures rdsadmin_spm_util

Le rdsadmin.rdsadmin_spm_util package fournit les procédures suivantes.

procédures rdsadmin_spm_util
Procédure Paramètre Par défaut Description

set_evolve_task_accept_plans

p_value

'TRUE'

Définit le ACCEPT_PLANS paramètre pourSYS_AUTO_SPM_EVOLVE_TASK. Les valeurs valides sont 'TRUE' et 'FALSE'.

set_evolve_task_alternate_plan_source

p_value

'AUTO'

Définit le ALTERNATE_PLAN_SOURCE paramètre pourSYS_AUTO_SPM_EVOLVE_TASK. Les valeurs valides sont 'AUTO', 'CURSOR_CACHE', 'AUTOMATIC_WORKLOAD_REPOSITORY' et 'SQL_TUNING_SET'.

Surveillance des lignes de base du plan SQL

Une fois que vous avez activé la gestion des plans SQL en temps réel, vous pouvez surveiller les lignes de base de plans que la base de données gère automatiquement :

SELECT SQL_HANDLE, PLAN_NAME, ENABLED, ACCEPTED, AUTOPURGE FROM DBA_SQL_PLAN_BASELINES ORDER BY LAST_MODIFIED DESC;

Considérations

Lorsque vous utilisez la gestion des plans SQL en temps réel, tenez compte des points suivants :

  • Les utilisateurs dotés du rôle DBA peuvent appeler DBMS_SPM.CONFIGURE directement. Cette étape ne nécessite pas d'emballage.

  • Les rdsadmin.rdsadmin_spm_util procédures sont nécessaires pour configurer les paramètres de la SYS-owned SYS_AUTO_SPM_EVOLVE_TASK tâche, car l'utilisateur principal n'a pas un accès direct aux tâches du SYS-owned conseiller.

  • Real-time La gestion des plans SQL fonctionne de manière transparente. Il n'est pas nécessaire de modifier le code de votre application.

  • Les lignes de base du plan SQL consomment de l'espace dans le tablespace SYSAUX. Surveillez l'utilisation de SYSAUX après avoir activé la fonctionnalité.

  • Les valeurs des paramètres transmises à DBMS_SPM.CONFIGURE (telles que 'AUTO' et'OFF') distinguent les majuscules et minuscules. Utilisez des valeurs en majuscules.

Ressources connexes