Analyser des énoncés SQL à l'aide de SQL Tuning Advisor
Vous pouvez utiliser SQL Tuning Advisor pour analyser et régler des énoncés SQL.
Le réglage SQL est un aspect important du réglage de la performance du système de base de données. SQL Tuning Advisor est un mécanisme qui permet de résoudre les problèmes liés aux énoncés SQL dont la performance n'est pas optimale. Il prend un ou plusieurs énoncés SQL ou un ensemble de réglages SQL (STS) en entrée et appelle l'optimiseur de réglage automatique pour analyser les énoncés. Les résultats sont présentés sous la forme de conclusions et de recommandations, ainsi que d'une explication de chaque recommandation et des avantages attendus. Les recommandations de réglage sont les suivantes et vous pouvez choisir d'accepter les recommandations pour terminer le réglage des énoncés SQL.
- Collecte de statistiques sur les objets
- Création d'index
- Réécriture des énoncés SQL
- Création de profils SQL
- Création de références de plan SQL
Pour plus d'informations sur les sujets suivants :
- SQL Tuning Advisor, voir À propos de SQL Tuning Advisor dans le Guide de réglage SQL pour Oracle Database.
-
Les ensembles de réglages SQL et leur création, voir Saisie de charges de travail dans des ensembles de réglages SQL dans le Guide de réglage SQL pour Oracle Database.
Dans Database Management Diagnostics & Management, vous pouvez utiliser SQL Tuning Advisor pour analyser les instructions SQL dans une base de données gérée.
SQL Tuning Advisor est disponible uniquement pour Oracle Database Édition Enterprise versions 12.2 et ultérieures, et 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, voir Qu'est-ce que la compatibilité Oracle Database? dans le Guide de mise à niveau d'Oracle Database.
Voici les principales étapes à suivre pour utiliser SQL Tuning Advisor dans Diagnostics & Management :
- Sélectionner l'entrée et exécuter SQL Tuning Advisor : L'entrée (énoncés SQL ou ensemble de réglages SQL) pour SQL Tuning Advisor peut être sélectionnée à l'aide de l'une des options suivantes et soumise en tant que tâche de réglage SQL :
-
Allez au centre de performance, sélectionnez un ou plusieurs ID SQL dans l'onglet Analyse ASH, puis cliquez sur Régler SQL.
-
Cliquez sur Régler SQL dans la section Tâches SQL Tuning Advisor et sélectionnez des énoncés SQL ou un ensemble de réglages SQL. Notez que pour pouvoir sélectionner des énoncés SQL individuels comme entrée, vous devez d'abord les sélectionner dans l'onglet Analyse ASH du centre de performance.
-
Activez le réglage SQL automatique sur la base de données. Notez que 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 les conclusions et les recommandations s'affichent également dans Diagnostics & Management. Pour plus d'informations sur la configuration de SQL Tuning Advisor en tant que tâche automatisée, voir Gestion de la tâche automatique de réglage SQL dans le Guide de réglage SQL pour Oracle Database.
-
- Voir les conclusions : Les conclusions de SQL Tuning Advisor sont affichées dans la section Tâches SQL Tuning Advisor de la page Détails de la base de données gérée.
- Mettre en oeuvre les recommandations : Les résultats et recommandations de SQL Tuning Advisor sont disponibles dans la page Détails de la tâche SQL Tuning Advisor. Vous pouvez consulter ces informations et choisir de mettre en oeuvre les recommandations.
Rôle et privilèges requis pour utiliser SQL Tuning Advisor
Vous devez disposer des privilèges d'administration d'Oracle Database pour effectuer les tâches du flux de travail 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, voir Configuration des privilèges et autorisations de rôle dans le Guide sur la sécurité d'Oracle Database.
Exécuter SQL Tuning Advisor
Dans un premier temps, vous devez exécuter SQL Tuning Advisor sur des énoncés SQL sélectionnés ou un ensemble de réglages SQL.
Vous pouvez utiliser l'une des options suivantes pour accéder au panneau exécuter SQL Tuning Advisor dans la page Détails de la base de données gérée de la base de données gérée :
-
Cliquez sur Centre de performance et, dans l'onglet Analyse ASH, faites défiler l'affichage 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 un ou plusieurs énoncés SQL et cliquez sur Régler SQL.
Note
Le centre de performance pour les bases de données gérées prend uniquement en charge Oracle Database Édition Enterprise et la disponibilité des fonctions du centre de performance dépend du type et de la version de la base de données Oracle et nécessite certains privilèges supplémentaires. Pour plus d'informations sur toutes les conditions ayant une incidence sur l'utilisation du centre de performance pour les bases de données gérées, voir OCI : Conditions préalables pour le centre de performance (KB59684) dans My Oracle Support. -
Cliquez sur SQL Tuning Advisor dans le volet de gauche sous Ressources, puis cliquez sur Régler SQL dans la section Tâches SQL Tuning Advisor.
Dans le panneau Exécuter SQL Tuning Advisor :
Voir les conclusions de SQL Tuning Advisor
Lors de l'exécution de SQL Tuning Advisor, vous pouvez consulter ses conclusions et recommandations dans Diagnostics & Management.
Après avoir exécuté SQL Tuning Advisor sur des énoncés SQL sélectionnés ou un STS, la tâche de réglage SQL est affichée dans la section Tâches SQL Tuning Advisor. Notez que si SQL Tuning Advisor est configuré pour s'exécuter automatiquement sur la base de données, les tâches de réglage SQL automatiques sont également affichées. Pour chacune des tâches de réglage SQL, vous pouvez cliquer sur l'icône Actions () et cliquer sur l'option Réexécuter la tâche de réglage SQL pour l'exécuter de nouveau, 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 conclusions et les recommandations de SQL Tuning Advisor sont affichées dans les onglets suivants de la page Détails de la tâche SQL Tuning Advisor :
- Onglet Sommaire : Afficher un sommaire graphique de la tâche et les conclusions fournies par SQL Tuning Advisor :
- énoncés SQL distincts examinés : Les énoncés SQL examinés par SQL Tuning Advisor sont regroupés dans les catégories SQL examiné avec des conclusions, SQL ignoré en raison d'erreurs et SQL examiné sans conclusions et affichés dans un graphique torique. Notez que si l'énoncé SQL a été exécuté plusieurs fois, une seule instance d'exécution (distincte) est prise en compte au cours de la période d'analyse.
- Avantage des recommandations de profil SQL : L'avantage des recommandations de profil SQL en temps de base de données (en secondes) est affiché dans des graphiques à barres. Les graphiques à barres présentent des barres Avant et Après, indiquant le temps de base de données réel et le temps de base de données amélioré, respectivement. Si les recommandations de profil SQL sont fournies mais ne sont pas mises en oeuvre, un seul graphique d'avantages Potentiel s'affiche. Si les recommandations de profil SQL sont mises en oeuvre partiellement, les graphiques d'avantages Potentiel et Mise en oeuvre s'affichent. Si les recommandations de profil SQL sont entièrement mises en oeuvre, seul le graphique d'avantages Mise en oeuvre s'affiche.
- Conclusions avec des recommandations par type : Les conclusions de SQL Tuning Advisor avec des recommandations sont classées par type et affichées dans un graphique à barres.
- Onglet Conclusions SQL : Afficher les conclusions et mettre en oeuvre les recommandations de SQL Tuning Advisor. Vous pouvez afficher la liste des énoncés SQL et les informations correspondantes en fonction de l'analyse effectuée par SQL Tuning Advisor. Ces informations présentent les avantages estimatifs en termes de performance et les conclusions avec des recommandations. Vous pouvez sélectionner un seul énoncé SQL pour afficher les recommandations spécifiques pour chaque conclusion, ainsi que l'explication et les avantages attendus si une recommandation est mise en oeuvre. Dans cet onglet, vous pouvez utiliser les options disponibles pour mettre en oeuvre toutes les recommandations de profil SQL, mettre en oeuvre une seule recommandation et comparer les plans d'exécution.
- onglet SQL sans conclusions : Afficher les énoncés SQL qui ont été ignorés en raison de l'absence de conclusions ou de recommandations, d'erreurs ou de temporisation de la tâche.
Mettre en oeuvre les recommandations de SQL Tuning Advisor
Vous pouvez créer des travaux pour implémenter des recommandations SQL Tuning Advisor.
Pour ce faire, allez à la page Détails de la tâche SQL Tuning Advisor et consultez les conclusions et les recommandations de l'analyse SQL Tuning Advisor dans l'onglet Conclusions SQL. Dans cet onglet, vous pouvez créer un travail permettant d'implémenter toutes les recommandations de profil SQL ou d'implémenter une recommandation de profil, d'index ou de statistiques SQL unique, et de comparer les plans d'exécution. Vous pouvez également afficher les conclusions diverses, de restructuration d'énoncé SQL et de plan de remplacement. En revanche, l'option de mise en oeuvre des recommandations de restructuration d'énoncé SQL et de plan de remplacement n'est pas disponible. Pour plus d'informations sur la restructuration d'énoncé SQL et les plans de remplacement, voir Analyse structurelle SQL et Analyse de plan de remplacement dans le Guide de réglage SQL pour Oracle Database.

Mettre en oeuvre toutes les recommandations de profil SQL
Pour mettre en oeuvre une recommandation de profil SQL unique, sélectionnez un seul énoncé SQL, faites défiler l'affichage vers le bas jusqu'à la section Mettre en oeuvre une recommandation pour l'ID SQL : <ID SQL> et cliquez sur l'icône Actions () dans la rangée Profil SQL, puis cliquez sur Mettre en oeuvre la recommandation.
Pour plus d'informations sur les profils SQL, voir À propos des profils SQL dans le Guide de réglage SQL pour Oracle Database.
Mettre en oeuvre la recommandation d'index
Mettre en oeuvre la recommandation de statistiques
Comparer les plans d'exécution
SELECT
, UPDATE
, INSERT
et DELETE
. Le plan d'exécution d'un énoncé est la séquence des opérations qu'Oracle effectue pour exécuter cet énoncé.
Pour voir et comparer les plans d'exécution :