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.
Rubriques
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 :
-
Détecte les modifications du plan d'exécution en temps réel.
-
Évalue les performances du nouveau plan par rapport aux plans précédents.
-
Crée ou met à jour automatiquement les lignes de base du plan SQL.
-
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édure | Paramètre | Par défaut | Description |
|---|---|---|---|
|
|
|
|
Définit le |
|
|
|
|
Définit le |
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.CONFIGUREdirectement. Cette étape ne nécessite pas d'emballage. -
Les
rdsadmin.rdsadmin_spm_utilprocédures sont nécessaires pour configurer les paramètres de la SYS-ownedSYS_AUTO_SPM_EVOLVE_TASKtâ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
-
DBMS_SPM
dans la documentation de la base de données Oracle -
Gestion des lignes de base de plans SQL
dans la documentation de la base de données Oracle