Analyse d'instructions SQL avec SQL Tuning Advisor
SQL Tuning Advisor permet d'analyser et de régler des instructions SQL.
Le réglage SQL est un aspect important du réglage des performances de système de base de données. SQL Tuning Advisor est un mécanisme permettant de résoudre les problèmes liés aux instructions SQL dont les performances ne sont pas optimales. Il utilise des instructions SQL ou un ensemble de réglages SQL en guise d'entrée et appelle l'optimiseur de réglage automatique pour analyser les instructions. La sortie se présente sous la forme de résultats et de recommandations, avec une justification et le gain attendu pour chaque recommandation. Les recommandations de réglage incluent celles mentionnées ci-après. Vous pouvez choisir d'accepter les recommandations pour réaliser le réglage des instructions SQL.
- Collecte de statistiques d'objets
- Création d'index
- Réécriture d'instructions SQL
- Création de profils SQL
- Création de valeurs de référence de plan SQL
Pour plus d'informations sur les sujets suivants, reportez-vous aux rubriques indiquées :
- Pour SQL Tuning Advisor, reportez-vous à A propos de SQL Tuning Advisor dans le guide de réglage SQL Oracle Database.
-
Pour les ensembles de réglages SQL et leur création, reportez-vous à Capture de charges globales dans des ensembles de réglages SQL dans le guide de réglage SQL Oracle Database.
Dans Database Management Diagnostics & Management, vous pouvez utiliser SQL Tuning Advisor pour analyser les instructions SQL d'une base de données gérée.
SQL Tuning Advisor est uniquement disponible pour Oracle Database Enterprise Edition versions 12.2 et ultérieures. Si le paramètre d'initialisation
COMPATIBLE
est défini pour la base de données, il doit correspondre aux versions 12.2.0 et ultérieures. Pour plus d'informations sur la compatibilité de base de données, reportez-vous à Qu'est-ce que la compatibilité Oracle Database ? dans le guide de mise à niveau Oracle Database.
Voici les principales étapes de l'utilisation de SQL Tuning Advisor dans Diagnostics & Management :
- Sélection de l'entrée et exécution de SQL Tuning Advisor. vous pouvez sélectionner l'entrée (instructions SQL ou ensemble de réglages SQL) pour SQL Tuning Advisor à l'aide de l'une des méthodes suivantes, puis la soumettre en tant que tâche de réglage SQL :
-
Accédez au hub de performances, sélectionnez des ID SQL dans l'onglet ASH Analytics, puis cliquez sur Régler le code SQL.
-
Cliquez sur Régler le code SQL dans la section Tâches SQL Tuning Advisor, puis sélectionnez des instructions SQL ou un ensemble de patches. Pour pouvoir sélectionner des instructions SQL individuelles en tant qu'entrée, vous devez d'abord les sélectionner dans l'onglet ASH Analytics du hub de performances.
-
Activez le réglage SQL automatique sur la base de données. Diagnostics & Management ne prend pas en charge la configuration automatique de SQL Tuning Advisor. Toutefois, si SQL Tuning Advisor est configuré pour s'exécuter automatiquement sur la base de données, la tâche de réglage SQL automatique ainsi que ses résultats et ses recommandations sont également affichés dans Diagnostics & Management. Pour savoir comment configurer SQL Tuning Advisor en tant que tâche automatisée, reportez-vous à la section Managing the Automatic SQL Tuning Task dans le guide Oracle Database SQL Tuning Guide.
-
- Visualiser les résultats : les résultats de SQL Tuning Advisor sont affichés dans la section Tâches SQL Tuning Advisor de la page Détails de la base de données gérée.
- Implémentation des recommandations : les résultats et les recommandations de SQL Tuning Advisor sont disponibles sur la page Détails de la tâche SQL Tuning Advisor. Vous pouvez consulter ces informations et choisir d'implémenter les recommandations.
Rôle et privilèges requis pour utiliser SQL Tuning Advisor
Vous devez disposer de privilèges d'administration Oracle Database pour effectuer les tâches dans le workflow SQL Tuning Advisor. En outre, le rôle et les privilèges suivants doivent être affectés :
GRANT SELECT_CATALOG_ROLE <following privileges> TO <admin user>
ADVISOR
CREATE JOB
CREATE SESSION
SELECT ANY DICTIONARY
INHERIT ANY PRIVILEGES
ADMINISTER SQL TUNING SET TO <SQLTUNEUSER>
Pour plus d'informations sur les rôles et les privilèges d'Oracle Database, reportez-vous à Configuration d'autorisation de privilège et de rôle dans le guide de sécurité Oracle Database.
Exécution de SQL Tuning Advisor
Pour commencer, vous devez exécuter SQL Tuning Advisor sur des instructions SQL sélectionnées ou sur un ensemble de réglages SQL.
Vous pouvez utiliser l'une des options suivantes pour accéder au panneau Exécuter SQL Tuning Advisor sur la page Détails de la base de données gérée de la base de données gérée de la base de données gérée :
-
Cliquez sur Hub de performances, accédez à l'onglet ASH Analytics, faites défiler l'écran vers le bas jusqu'aux ID SQL répertoriés dans la section ID SQL par classe d'attente (vue par défaut), sélectionnez des instructions SQL, puis cliquez sur Régler le code SQL.
Remarque
Le hub de performances pour les bases de données gérées ne prend en charge qu'Oracle Database Enterprise Edition. La disponibilité des fonctionnalités du hub de performances dépend du type et de la version de la base de données Oracle, et nécessite certains privilèges supplémentaires. Afin d'obtenir des informations sur toutes les conditions ayant une incidence sur l'utilisation du hub de performances pour les bases de données gérées, reportez-vous à OCI : Prerequisite Conditions for Performance Hub (KB59684) dans My Oracle Support. -
Cliquez sur SQL Tuning Advisor dans le panneau de gauche sous Ressources, puis cliquez sur Régler le code SQL dans la section Tâches SQL Tuning Advisor.
Dans le panneau Exécution de SQL Tuning Advisor, procédez comme suit :
Affichage des résultats de SQL Tuning Advisor
Lors de l'exécution de SQL Tuning Advisor, vous pouvez consulter ses résultats et recommandations dans Diagnostics & Management.
Une fois que vous avez exécuté SQL Tuning Advisor sur des instructions SQL ou un service STS sélectionnés, la tâche de réglage SQL est affichée dans la section Tâches SQL Tuning Advisor. Si SQL Tuning Advisor est configuré pour s'exécuter automatiquement sur la base de données, les tâches de réglage SQL automatique sont également affichées. Pour chacune d'entre elles, vous pouvez cliquer sur l'icône Actions (), puis sur l'option Réexécuter la tâche de réglage SQL afin de réexécuter la tâche de réglage SQL, si nécessaire.
Cliquez sur le nom de la tâche de réglage SQL pour accéder à la page Détails de la tâche SQL Tuning Advisor. Les résultats et les recommandations de SQL Tuning Advisor sont affichés dans les onglets suivants de la page Détails de la tâche SQL Tuning Advisor :
- Onglet Récapitulatif : consultez un récapitulatif de la tâche et des résultats fournis par SQL Tuning Advisor sous forme de graphique.
- Instructions SQL distinctes examinées : les instructions SQL examinées par SQL Tuning Advisor sont regroupées dans les catégories Examen de l'instruction SQL avec résultats, Instruction SQL ignorée en raison d'erreurs et Examen de l'instruction SQL sans résultats, et affichées dans un graphique en anneau. Si l'instruction SQL a été exécutée plusieurs fois, une seule exécution (distincte) au cours de la période d'analyse est prise en compte.
- Gain pour les recommandations de profil SQL : le gain des recommandations de profil SQL en temps de base de données (en secondes) est affiché dans des graphiques à barres. Les graphiques à barres comportent des barres avant et après, qui indiquent respectivement le temps de base de données réel et le temps de base de données amélioré. Si les recommandations de profil SQL sont fournies mais pas implémentées, un seul graphique de gain Potentiel est affiché. Si les recommandations de profil SQL sont partiellement implémentées, les graphiques de gain Potentiel et Implémenté sont affichés. Si les recommandations de profil SQL sont toutes implémentées, seul le graphique de gain Implémenté est affiché.
- Résultats avec recommandations par type : les résultats avec recommandations de SQL Tuning Advisor sont classés par type et affichés dans un graphique à barres.
- Onglet Résultats SQL : consultez les résultats et implémentez les recommandations de SQL Tuning Advisor. Vous pouvez afficher la liste des instructions SQL et les informations correspondantes issues de l'analyse effectuée par SQL Tuning Advisor. Cela inclut l'estimation du gain de performances et les résultats avec recommandations. Vous pouvez sélectionner une instruction SQL unique afin d'afficher les recommandations spécifiques pour chaque résultat, la justification et le gain attendu si une recommandation est implémentée. Dans cet onglet, vous pouvez utiliser les options disponibles pour implémenter toutes les recommandations de profil SQL, implémenter une seule instruction et comparer des plans d'explication.
- Onglet Instruction SQL sans résultats : visualisez les instructions SQL qui ont été ignorées en raison d'erreurs, de l'expiration de la tâche ou de l'absence de résultats ou de recommandations.
Implémentation des recommandations de SQL Tuning Advisor
Vous pouvez créer des travaux pour implémenter les recommandations de la fonction de conseil STA (SQL Tuning Advisor).
Pour ce faire, accédez à la page Détails de la tâche SQL Tuning Advisor et affichez les résultats et les recommandations de l'analyse SQL Tuning Advisor dans l'onglet Résultats SQL. Dans cet onglet, vous pouvez créer un travail pour implémenter toutes les recommandations de profil SQL ou implémenter une seule recommandation de profil SQL, d'index ou de statistiques, et comparer des plans d'explication. Vous pouvez également consulter les résultats de restructuration SQL, de plan de remplacement et autres. Toutefois, l'option d'implémentation des recommandations de restructuration SQL et de plan de remplacement n'est pas disponible. Pour plus d'informations sur les restructurations SQL et les plans de remplacement, reportez-vous à Analyse structurelle d'instruction SQL et à Analyse de plan de remplacement dans le guide de réglage SQL Oracle Database.

Implémentation de toutes les recommandations de profil SQL
Pour implémenter une seule recommandation de profil SQL, cliquez sur la section Mettre en oeuvre une recommandation pour l'ID SQL : <ID SQL>, cliquez sur l'icône Actions () dans la ligne Profil SQL, puis sur Mettre en oeuvre la recommandation.
Pour plus d'informations sur les profils SQL, reportez-vous à A propos des profils SQL dans le guide de réglage SQL Oracle Database.
Implémentation d'une recommandation d'index
Implémentation d'une recommandation de statistiques
Comparaison de plans d'explication
SELECT
, UPDATE
, INSERT
et DELETE
. Le plan d'exécution d'une instruction est la séquence d'opérations qu'Oracle effectue pour exécuter cette instruction.
Pour afficher et comparer des plans d'explication, procédez comme suit :