Surveiller et analyser les statistiques de l'optimiseur

Vous pouvez surveiller les statistiques de l'optimiseur pour une base de données gérée, analyser les tâches de collecte de statistiques et les tâches du service de conseils sur les statistiques de l'optimiseur, et mettre en oeuvre les recommandations de ce service dans les diagnostics et la gestion du service de gestion de bases de données.

Pour aller à la section Statistiques de l'optimiseur, accédez à la page Détails de la base de données gérée et cliquez sur Statistiques de l'optimiseur dans le volet de gauche sous Ressources.

À propos des statistiques de l'optimiseur

Les statistiques de l'optimiseur sont une collection de données décrivant en détail la base de données et les objets qu'elle contient. Les statistiques fournissent une image statistiquement correcte du stockage et de la distribution des données, qui est utilisée par l'optimiseur lors de l'évaluation des chemins d'accès. L'optimiseur utilise les statistiques pour obtenir une estimation du nombre de rangées (et du nombre d'octets) extraites d'une table, d'une partition ou d'un index. L'optimiseur estime le coût de l'accès, détermine le coût des plans possibles, puis sélectionne le plan d'exécution ayant le coût le plus bas.

Les statistiques de l'optimiseur incluent les éléments suivants :

  • Statistiques de table : Inclut le nombre de rangées, le nombre de blocs et la longueur moyenne des rangées.

  • Statistiques de colonne : Inclut le nombre de valeurs distinctes et de valeurs nulles dans une colonne, ainsi que la distribution des données.

  • Statistiques d'index : Inclut le nombre de blocs feuilles, les niveaux d'index et le facteur de regroupement d'index.

  • Statistiques du système : Inclut la performance et l'utilisation de l'UC et des E/S.

Pour plus d'informations sur les sujets suivants :

À propos de la collecte des statistiques de l'optimiseur

Dans Oracle Database, la collecte des statistiques de l'optimiseur consiste à recueillir les statistiques de l'optimiseur pour les objets de base de données, y compris les objets fixes. Par défaut, Oracle Database utilise la collecte automatique des statistiques de l'optimiseur. Dans ce cas, la base de données exécute automatiquement DBMS_STATS pour collecter les statistiques de l'optimiseur pour tous les objets de schéma dont les statistiques sont manquantes ou périmées. Le processus élimine de nombreuses tâches manuelles associées à la gestion de l'optimiseur et réduit considérablement les risques de générer des plans d'exécution imparfaits en raison de statistiques manquantes ou périmées. Vous pouvez également collecter des statistiques manuellement à l'aide de l'ensemble DBMS_STATS.

Oracle Database 19c introduit la collecte automatique de statistiques de l'optimiseur haute fréquence. Cette tâche légère rassemble périodiquement des statistiques pour les objets périmés, l'intervalle par défaut étant de 15 minutes. Contrairement à la tâche de collecte automatisée des statistiques, la tâche haute fréquence n'exécute pas d'actions telles que l'épuration des statistiques pour les objets inexistants ou l'appel du service de conseils sur les statistiques de l'optimiseur.

Pour plus d'informations sur les sujets suivants :

À propos du service de conseils sur les statistiques de l'optimiseur

Le service de conseils sur les statistiques de l'optimiseur est un logiciel de diagnostic intégré qui exécute des tâches permettant d'analyser le mode de collecte courant des statistiques de l'optimiseur, l'efficacité des tâches existantes de collecte des statistiques et la qualité des statistiques collectées. Le service de conseils sur les statistiques de l'optimiseur tient à jour des règles qui incarnent les meilleures pratiques d'Oracle sur la base du jeu de fonctions courant. Ainsi, le service de conseils fournit toujours les recommandations les plus récentes pour la collecte des statistiques.

Pour plus d'informations sur le service de conseils sur les statistiques de l'optimiseur, voir la section À propos du service de conseils sur les statistiques de l'optimiseur dans le Guide de réglage SQL pour Oracle Database.

Surveiller le sommaire des statistiques de l'optimiseur

Vous pouvez surveiller un sommaire des statistiques sur les objets dans la base de données gérée, ainsi que les tâches et sous-tâches effectuées pour collecter les statistiques de l'optimiseur.

Les vignettes suivantes sont affichées dans l'onglet Sommaire de la section Statistiques de l'optimiseur, offrant un aperçu de ces statistiques :

  • Statistiques d'objet : Affiche les statistiques courantes collectées pour les objets de la base de données gérée. Ce graphique à secteurs fournit des données clés sur le nombre d'objets pour lesquels ont été collectées des statistiques récentes, périmées ou aucune statistique.

  • Tâches de collecte des statistiques : Affiche le statut et le nombre des tâches de collecte des statistiques de l'optimiseur ou le statut et le nombre des objets de base de données pour lesquels des statistiques ont été collectées chaque jour, au cours des sept derniers jours. Chaque barre du graphique indique le nombre de tâches exécutées un jour donné ou le nombre d'objets pour lesquels des statistiques ont été collectées un jour donné, la couleur indiquant le statut. Par défaut, ce graphique à barres fournit un aperçu du nombre de tâches automatiques de collecte des statistiques de l'optimiseur, réparties par statut. Sélectionnez l'option Statut de l'objet dans la liste déroulante Voir par pour voir le nombre d'objets pour lesquels des statistiques ont été collectées. En outre, vous pouvez sélectionner une option dans la liste déroulante Type pour voir le nombre de tâches ou d'objets en fonction du mécanisme utilisé pour collecter les statistiques, par exemple automatique, manuel ou les deux.

  • Liste de tâches de collecte des statistiques : Affiche la liste des tâches de collecte des statistiques de l'optimiseur au cours des sept derniers jours, ainsi que les informations suivantes pour chaque tâche :

    • Nom de la tâche : Nom de la tâche de collecte des statistiques de l'optimiseur.

    • Statut : Statut de la tâche de collecte des statistiques de l'optimiseur.

    • Portée : Portée de la tâche de collecte des statistiques de l'optimiseur, telle que Base de données, Schéma, Index ou Table.

    • Type : Type de tâche de collecte des statistiques de l'optimiseur : Automatique ou Manuelle.

    • Cible : Cible sur laquelle la tâche de collecte des statistiques de l'optimiseur a été exécutée.

    • Objets : Nombre total d'objets de base de données balayés et nombre d'objets pour lesquels la tâche de collecte des statistiques de l'optimiseur est terminée.

    • Durée : Durée de la tâche de collecte des statistiques de l'optimiseur.

    • Heure de début : Heure de début de la tâche de collecte des statistiques de l'optimiseur.

    Vous pouvez utiliser les listes déroulantes et les champs au-dessus de la liste des tâches de collecte des statistiques de l'optimiseur pour filtrer ces tâches selon un type ou un statut donné, ou pour rechercher une tâche particulière. Vous pouvez également cliquer sur la barre de statut d'une tâche particulière dans le graphique à barres Tâches de collecte des statistiques pour voir la liste des tâches de collecte des statistiques de l'optimiseur exécutées un jour donné. Notez que cette fonctionnalité n'est pas disponible si le statut de l'objet est affiché dans le graphique à barres Tâches de collecte des statistiques.

Voir les détails de la tâche de collecte des statistiques de l'optimiseur

Cliquez sur le nom de la tâche dans la liste des tâches de collecte des statistiques pour accéder à la page Détails de la tâche de collecte des statistiques. Notez que vous devez disposer des privilèges suivants pour voir les détails de la tâche de collecte des statistiques de l'optimiseur :

  • ANALYZE ANY
  • ANALYZE ANY DICTIONARY

Les vignettes suivantes sont affichées dans la page Détails de la tâche de collecte des statistiques :

  • Informations sur la tâche de collecte des statistiques : Affiche les informations relatives à la tâche de collecte des statistiques de l'optimiseur.
  • Statut de sous-tâche de collecte des statistiques : Affiche le statut des sous-tâches exécutées dans le cadre de la tâche de collecte des statistiques de l'optimiseur, dans un graphique à secteurs.
  • Statut de sous-tâche de collecte des statistiques par type d'objet : Affiche une répartition du statut des sous-tâches par type d'objet de base de données dans un graphique à barres. Chaque barre du graphique indique un type d'objet de base de données et la couleur indique l'état de la sous-tâche.
  • Sous-tâches de collecte des statistiques : Affiche une liste des sous-tâches exécutées dans le cadre de la tâche de collecte des statistiques de l'optimiseur.

Analyser les tâches du service de conseils sur les statistiques de l'optimiseur et mettre en oeuvre les recommandations

Vous pouvez surveiller et analyser les tâches du service de conseils sur les statistiques de l'optimiseur et mettre en oeuvre les recommandations de ce service.

Note

Pour les bases de données autonomes, le service de conseils sur les statistiques de l'optimiseur est désactivé par défaut et l'onglet Conseiller n'affiche pas les données.

Pour vérifier si le service de conseils sur les statistiques de l'optimiseur est activé pour les bases de données autonomes, exécutez l'interrogation suivante :

select dbms_stats.get_prefs('AUTO_STATS_ADVISOR_TASK') from dual;

Pour activer le service de conseils sur les statistiques de l'optimiseur pour les bases de données autonomes, exécutez l'interrogation suivante :

exec dbms_stats.set_global_prefs('AUTO_STATS_ADVISOR_TASK','TRUE');

Les vignettes suivantes sont affichées dans l'onglet Service de conseils de la section Statistiques de l'optimiseur, offrant un aperçu des tâches du service de conseils sur ces statistiques :

  • Sommaire des tâches : Affiche le statut des tâches du service de conseils sur les statistiques de l'optimiseur exécutées au cours des sept derniers jours.

  • Tâches du service de conseils : Affiche le statut et le nombre des tâches du service de conseils sur les statistiques de l'optimiseur exécutées chaque jour, au cours des sept derniers jours. Chaque barre du graphique indique le nombre de tâches exécutées un jour donné, la couleur indiquant le statut. Par défaut, ce graphique à barres fournit un aperçu du nombre de tâches automatiques du service de conseils sur les statistiques de l'optimiseur, réparties par statut. Sélectionnez une option dans la liste déroulante Type pour voir les tâches du service de conseils sur les statistiques de l'optimiseur en fonction du mécanisme utilisé pour collecter les statistiques, par exemple, automatique, manuel ou les deux.

  • Liste des tâches du service de conseils : Affiche la liste des tâches du service de conseils sur les statistiques de l'optimiseur au cours des sept derniers jours, ainsi que les informations suivantes pour chaque tâche :

    • Nom de l'exécution : Nom de l'exécution de la tâche du service de conseils sur les statistiques de l'optimiseur.

    • Nom de la tâche : Nom de la tâche du service de conseils sur les statistiques de l'optimiseur.

    • Statut : Statut de la tâche du service de conseils sur les statistiques de l'optimiseur.

    • Type : Type de tâche du service de conseils sur les statistiques de l'optimiseur : Automatique ou Manuel.

    • Conclusions : Conclusions de la tâche du service de conseils sur les statistiques de l'optimiseur.

    • Durée : Durée de la tâche du service de conseils sur les statistiques de l'optimiseur.

    • Heure de début : Heure de début de la tâche du service de conseils sur les statistiques de l'optimiseur.

    • Message : Message, le cas échéant.

Vous pouvez utiliser les listes déroulantes et les champs au-dessus de la liste des tâches du service de conseils sur les statistiques de l'optimiseur pour filtrer les tâches selon un type ou un statut donné, ou pour rechercher une exécution ou une tâche spécifique. Vous pouvez également cliquer sur la barre de statut d'une tâche particulière dans le graphique à barres Tâches du service de conseils pour voir la liste des tâches du service de conseils sur les statistiques de l'optimiseur exécutées un jour donné.

Mettre en oeuvre les recommandations du service de conseils sur les statistiques de l'optimiseur

Cliquez sur le nom d'exécution de la tâche du service de conseils sur les statistiques de l'optimiseur dans la liste des tâches du service de conseils pour accéder à la page Détails du service de conseils sur les statistiques de l'optimiseur.

Les vignettes suivantes sont affichées dans la page Détails du service de conseils sur les statistiques de l'optimiseur :

  • Informations sur le service de conseils sur les statistiques de l'optimiseur : Affiche les informations relatives à la tâche du service de conseils sur les statistiques de l'optimiseur.

  • Conclusions du service de conseils sur les statistiques de l'optimiseur : Affiche les conclusions de la tâche du service de conseils sur les statistiques de l'optimiseur, ainsi que les informations suivantes :

    • Règle : Norme fournie par Oracle selon laquelle le service de conseils sur les statistiques de l'optimiseur effectue ses vérifications.

    • Conclusion : Conclusions fournies par le service de conseils sur les statistiques de l'optimiseur.

    • Recommandation : Recommandations fournies par le service de conseils sur les statistiques de l'optimiseur.

    • Explication : Explication de la recommandation fournie par le service de conseils sur les statistiques de l'optimiseur.

    • Détails : Cliquez sur l'icône Actions (Actions) pour voir plus de détails sur la conclusion et un exemple de script qui peut être utilisé pour mettre en oeuvre la recommandation.

Après avoir examiné les conclusions de la page Détails du service de conseils sur les statistiques de l'optimiseur, vous pouvez créer une tâche pour mettre en oeuvre toutes les recommandations.

Note

Si l'utilisateur de base de données ne dispose pas des privilèges requis, les conclusions peuvent ne pas être affichées dans la page Détails du service de conseils sur les statistiques de l'optimiseur et le bouton Mettre en oeuvre toutes les recommandations peuvent ne pas être disponibles même s'il existe des conclusions pour la tâche. Il est recommandé de régler les données d'identification de diagnostics avancés à un utilisateur disposant des privilèges requis. Pour plus d'informations, voir Définir les données d'identification privilégiées dans Diagnostics et gestion.

Pour mettre en oeuvre les recommandations du service de conseils sur les statistiques de l'optimiseur :

  1. Cliquez sur Mettre en oeuvre toutes les recommandations dans la section Conclusions du service de conseils sur les statistiques de l'optimiseur.
  2. Dans le panneau Mettre en oeuvre toutes les recommandations :
    1. Fournissez les informations suivantes pour créer une tâche afin de mettre en oeuvre les recommandations :
      1. Nom de la tâche : Vérifiez le nom alimenté automatiquement de la tâche et apportez-y des modifications, si nécessaire.
      2. Description de la tâche : Vérifiez la description alimentée automatiquement de la tâche et apportez-y des modifications, si nécessaire.
    2. Spécifiez les paramètres de la tâche :
      1. Type de données d'identification : Sélectionnez l'une des options disponibles pour spécifier les données d'identification de base de données à connecter à la base de données gérée. Pour plus d'informations sur les types de données d'identification, voir Utiliser les données d'identification pour effectuer des tâches de diagnostic et de gestion.
        Note

        L'utilisateur spécifié doit disposer des privilèges suivants pour soumettre la tâche de mise en oeuvre des recommandations :
        • ANALYZE ANY
        • ANALYZE ANY DICTIONARY
      2. Nom du seau : Sélectionnez le seau du service de stockage d'objets Oracle dans lequel la sortie de tâche sera stockée. Le seau du service de stockage d'objets Oracle peut se trouver dans le même compartiment que la tâche ou dans un autre compartiment, et vous devez disposer des autorisations requises du service de stockage d'objets pour Oracle Cloud Infrastructure pour sélectionner le seau. Pour plus d'informations, voir Autorisations supplémentaires requises pour utiliser les diagnostics et la gestion.
    3. Facultativement, cliquez sur Afficher l'énoncé SQL pour voir l'énoncé SQL qui sera exécuté.
    4. Cliquez sur Mettre en oeuvre toutes les recommandations.

Toutes les recommandations du service de conseils sur les statistiques de l'optimiseur seront maintenant mises en oeuvre et vous pouvez surveiller cette tâche dans la section Tâches de la page Détails de la base de données gérée.