Surveillance et analyse des statistiques de l'optimiseur
Vous pouvez surveiller les statistiques destinées à l'optimiseur pour une base de données gérée, analyser les tâches d'ensemble de statistiques et de la fonction d'optimisation des statistiques, ainsi qu'implémenter les recommandations de la fonction d'optimisation des statistiques dans Database Management Diagnostics & Management.
Pour accéder à 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 panneau de gauche sous Ressources.
A propos des statistiques de l'optimiseur
Les statistiques de l'optimiseur sont un ensemble de données fournissant des détails sur la base de données et les objets qu'elle contient. Elles offrent une image statistiquement correcte du stockage et de la répartition des données, dont l'optimiseur se sert lors de l'évaluation des chemins d'accès. L'optimiseur utilise les statistiques pour obtenir une estimation du nombre de lignes (et d'octets) extraits à partir d'une table, d'une partition ou d'un index. Il estime le coût de l'accès, détermine le coût des plans possibles, puis sélectionne le plan d'exécution dont le coût est le moins élevé.
Voici quelques-unes des statistiques de l'optimiseur :
-
Statistiques de table : incluent le nombre de lignes et de blocs, ainsi que la longueur moyenne des lignes.
-
Statistiques de colonne : incluent le nombre de valeurs distinctes et de valeurs NULL dans une colonne, ainsi que la répartition des données.
-
Statistiques d'index : incluent le nombre de blocs feuille et de niveaux d'index, ainsi que le facteur de création de clusters d'index.
-
Statistiques système : incluent l'utilisation et les performances d'E/S et d'UC.
Pour plus d'informations sur les sujets suivants, reportez-vous aux rubriques indiquées :
-
Pour les statistiques de l'optimiseur, reportez-vous à Présentation des statistiques de l'optimiseur dans le guide de réglage SQL Oracle Database.
-
Pour les types de statistique de l'optimiseur, reportez-vous à A propos des types de statistique de l'optimiseur dans le guide de réglage SQL Oracle Database.
A propos de la collecte de statistiques de l'optimiseur
Dans Oracle Database, la collecte de statistiques de l'optimiseur désigne la collecte de 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
afin de collecter des statistiques de l'optimiseur pour tous les objets de schéma pour lesquels des statistiques sont manquantes ou obsolètes. Ce processus élimine de nombreuses tâches manuelles associées à la gestion de l'optimiseur et réduit considérablement les risques de génération de plans d'exécution non optimaux en raison de statistiques manquantes ou obsolètes. Vous pouvez également collecter des statistiques manuellement à l'aide du package DBMS_STATS
.
Oracle Database 19c introduit la collecte automatique des statistiques de l'optimiseur à fréquence élevée. Cette tâche légère collecte périodiquement des statistiques pour les objets obsolètes. L'intervalle par défaut est de 15 minutes. Contrairement au travail automatisé de collecte de statistiques, la tâche à fréquence élevée n'effectue pas d'actions telles que la purge des statistiques pour les objets inexistants ou l'appel de la fonction de conseil des statistiques de l'optimiseur.
Afin d'obtenir des informations sur les sujets suivants, reportez-vous aux rubriques indiquées :
-
Pour la configuration des options de collecte des statistiques de l'optimiseur, reportez-vous à Configuration des options de collecte des statistiques de l'optimiseur dans le guide de réglage SQL Oracle Database.
-
Pour la collecte des statistiques de l'optimiseur, reportez-vous à Collecte des statistiques de l'optimiseur dans le guide de réglage SQL Oracle Database.
A propos de la fonction de conseil des statistiques de l'optimiseur
La fonction de conseil des statistiques de l'optimiseur est un logiciel de diagnostic intégré qui exécute des tâches visant à analyser la méthode de collecte des statistiques de l'optimiseur utilisée, l'efficacité des travaux de collecte de statistiques existants et la qualité des statistiques collectées. Elle tient à jour des règles qui reflètent les meilleures pratiques Oracle en fonction de l'ensemble actuel de fonctionnalités. Elle fournit ainsi toujours les recommandations les plus récentes concernant la collecte de statistiques.
Pour plus d'informations sur la fonction de conseil des statistiques d'optimiseur, reportez-vous à A propos de la fonction de conseil des statistiques de l'optimiseur dans le guide de réglage SQL Oracle Database.
Surveillance du récapitulatif des statistiques de l'optimiseur
Vous pouvez surveiller un récapitulatif des statistiques d'objet au sein de la base de données gérée, ainsi que les tâches et sous-tâches exécutées pour collecter les statistiques de l'optimiseur.
L'onglet Récapitulatif de la section Statistiques de l'optimiseur contient les mosaïques suivantes, qui fournissent un aperçu des statistiques de l'optimiseur :
-
Statistiques d'objet : affiche les statistiques en cours collectées pour les objets dans la base de données gérée. Ce graphique à secteurs fournit un aperçu du nombre d'objets pour lesquels de nouvelles statistiques ou des statistiques obsolètes ont été collectées, ou encore pour lesquels aucune statistique n'a été collectée.
-
Tâches de collecte de statistiques : affiche le nombre de tâches de collecte de statistiques de l'optimiseur et leur statut, ou le nombre d'objets de base de données pour lesquels des statistiques sont collectées quotidiennement au cours des sept derniers jours, ainsi que leur statut. Chaque barre du graphique indique le nombre de tâches exécutées ou le nombre d'objets pour lesquels des statistiques ont été collectées un jour donné. La couleur de la barre indique le statut. Par défaut, ce graphique à barres donne un aperçu du nombre de tâches de collecte automatique de statistiques de l'optimiseur, réparties par statut. Sélectionnez l'option Statut d'objet dans la liste déroulante Visualiser par afin d'afficher 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 afin d'afficher 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 des tâches de collecte de statistiques : affiche la liste des tâches de collecte de statistiques de l'optimiseur au cours des sept derniers jours, ainsi que les informations suivantes pour chaque tâche :
-
Nom de 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 la 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 analysés et nombre d'objets de base de données 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 situés au-dessus de la liste des tâches de collecte de statistiques de l'optimiseur pour filtrer les tâches en fonction d'un certain type ou statut, ou pour rechercher une tâche en particulier. Vous pouvez également cliquer sur la barre du statut d'une tâche spécifique dans le graphique à barres Tâches de collecte de statistiques afin d'afficher la liste des tâches de collecte de statistiques de l'optimiseur exécutées un jour donné. Cette fonctionnalité n'est pas disponible si le statut d'objet est affiché dans le graphique à barres Tâches de collecte de statistiques.
-
Affichage des détails d'une 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 de statistiques pour accéder à la page Détails de la tâche de collecte de statistiques. Vous devez disposer des privilèges suivants pour afficher les détails de la tâche de collecte des statistiques de l'optimiseur :
ANALYZE ANY
ANALYZE ANY DICTIONARY
La page Détails de la tâche de collecte de statistiques comporte les mosaïques suivantes :
- Informations sur la tâche de collecte de statistiques : affiche les informations relatives à la tâche de collecte des statistiques de l'optimiseur.
- Statut de la sous-tâche de collecte de statistiques : affiche le statut des sous-tâches effectuées dans le cadre de la tâche de collecte des statistiques de l'optimiseur sous la forme d'un graphique à secteurs.
- Statut de la sous-tâche de collecte de statistiques par type d'objet : affiche la répartition du statut des sous-tâches par type d'objet de base de données sous la forme d'un graphique à barres. Chaque barre du graphique représente un type d'objet de base de données et sa couleur indique le statut de la sous-tâche.
- Sous-tâches de collecte de statistiques : affiche la liste des sous-tâches exécutées dans le cadre de la tâche de collecte des statistiques de l'optimiseur.
Analyse des tâches de la fonction de conseil des statistiques de l'optimiseur et implémentation des recommandations
Vous pouvez surveiller et analyser les tâches de la fonction de conseil des statistiques de l'optimiseur, ainsi qu'implémenter les recommandations de cette dernière.
Pour les bases de données autonomes, la fonction de conseil des statistiques de l'optimiseur est désactivée par défaut et l'onglet Conseiller n'affiche pas de données.
Pour vérifier si la fonction de conseil des statistiques de l'optimiseur est activée pour les bases de données autonomes, exécutez la requête suivante :
select dbms_stats.get_prefs('AUTO_STATS_ADVISOR_TASK') from dual;
Afin d'activer Optimizer Statistics Advisor pour les bases de données autonomes, exécutez la requête suivante :
exec dbms_stats.set_global_prefs('AUTO_STATS_ADVISOR_TASK','TRUE');
L'onglet Fonction de conseil de la section Statistiques de l'optimiseur contient les mosaïques suivantes, qui fournissent un aperçu des tâches de la fonction de conseil des statistiques de l'optimiseur :
-
Récapitulatif de tâche : affiche le statut des tâches de la fonction de conseil des statistiques de l'optimiseur exécutées au cours des sept derniers jours.
-
Tâches de la fonction de conseil : affiche le nombre de tâches de la fonction de conseil des statistiques de l'optimiseur exécutées quotidiennement au cours des sept derniers jours, ainsi que leur statut. Chaque barre du graphique représente le nombre de tâches exécutées un jour donné. La couleur de la barre indique le statut. Par défaut, ce graphique à barres donne un aperçu du nombre de tâches de la fonction de conseil des statistiques de l'optimiseur, réparties par statut. Sélectionnez une option dans la liste déroulante Type afin d'afficher les tâches de la fonction de conseil des statistiques de l'optimiseur en fonction du mécanisme utilisé pour les collecter (par exemple, automatique, manuel ou les deux).
-
Liste des tâches de la fonction de conseil : affiche la liste des tâches de la fonction de conseil des statistiques de l'optimiseur au cours des sept derniers jours, ainsi que les informations suivantes pour chaque tâche :
-
Nom d'exécution : nom de l'exécution de la tâche de la fonction de conseil des statistiques de l'optimiseur.
-
Nom de tâche : nom de la tâche de la fonction de conseil des statistiques de l'optimiseur.
-
Statut : statut de la tâche de la fonction de conseil des statistiques de l'optimiseur.
-
Type : type de la tâche de la fonction de conseil des statistiques de l'optimiseur (Automatique ou Manuelle).
-
Résultats : résultats de la tâche de la fonction de conseil des statistiques de l'optimiseur.
-
Durée : durée de la tâche de la fonction de conseil des statistiques de l'optimiseur.
-
Heure de début : heure de début de la tâche de la fonction de conseil des statistiques de l'optimiseur.
-
Message : message, le cas échéant.
-
Vous pouvez utiliser les listes déroulantes et les champs situés au-dessus de la liste des tâches de la fonction de conseil des statistiques de l'optimiseur pour filtrer les tâches en fonction d'un certain type ou statut, ou pour rechercher une exécution ou une tâche en particulier. Vous pouvez également cliquer sur la barre du statut d'une tâche spécifique dans le graphique à barres Tâches de la fonction de conseil afin d'afficher la liste des tâches de la fonction de conseil des statistiques de l'optimiseur exécutées un jour donné.
Implémentation des recommandations de la fonction de conseil des statistiques de l'optimiseur
Cliquez sur le nom d'exécution de la tâche de la fonction de conseil des statistiques de l'optimiseur dans la liste des tâches de la fonction de conseil pour accéder à la page Détails de la fonction de conseil des statistiques de l'optimiseur.
La page Détails de la fonction de conseil des statistiques de l'optimiseur contient les mosaïques suivantes :
-
Informations sur la fonction de conseil des statistiques de l'optimiseur : affiche les informations relatives à la tâche de la fonction de conseil des statistiques de l'optimiseur.
-
Résultats de la fonction de conseil des statistiques de l'optimiseur : affiche les résultats de la tâche de la fonction de conseil des statistiques de l'optimiseur, ainsi que les informations suivantes :
-
Règle : norme fournie par Oracle permettant à la fonction de conseil des statistiques de l'optimiseur d'effectuer ses vérifications.
-
Résultat : résultats fournis par la fonction de conseil des statistiques de l'optimiseur.
-
Recommandation : recommandations fournies par la fonction de conseil des statistiques de l'optimiseur.
-
Justification : justification de la recommandation fournie par la fonction de conseil des statistiques de l'optimiseur.
-
Détails : cliquez sur l'icône Actions (
) pour afficher plus de détails sur le résultat et un exemple de script pouvant être utilisé pour implémenter la recommandation.
-
Après avoir examiné les résultats sur la page Détails de la fonction de conseil des statistiques de l'optimiseur, vous pouvez créer un travail afin d'implémenter toutes les recommandations.
Si l'utilisateur de base de données ne dispose pas des privilèges requis, les résultats peuvent ne pas être affichés sur la page Détails de la fonction de conseil sur les statistiques de l'optimiseur et le bouton Implémenter toutes les recommandations peut ne pas être disponible même s'il existe des résultats pour la tâche. Il est recommandé de définir les informations d'identification de diagnostics avancés sur un utilisateur disposant des privilèges requis. Pour plus d'informations, reportez-vous à Définition des informations d'identification enregistrées dans Diagnostics & Management.
Pour implémenter les recommandations de la fonction de conseil des statistiques de l'optimiseur, procédez comme suit :
- Cliquez sur Implémenter toutes les recommandations dans la section Résultats de la fonction de conseil des statistiques de l'optimiseur.
- Dans le panneau Implémenter toutes les recommandations, procédez comme suit :
- Fournissez les informations suivantes afin de créer un travail pour implémenter les recommandations :
- Nom de travail : vérifiez le nom du travail renseigné automatiquement et modifiez-le si nécessaire.
- Description de travail : vérifiez la description du travail renseignée automatiquement et modifiez-la si nécessaire.
- Indiquez les paramètres du travail :
- Type d'informations d'identification : sélectionnez l'une des options disponibles pour indiquer les informations d'identification de base de données à connecter à la base de données gérée. Pour plus d'informations sur les types d'informations d'identification, reportez-vous à Utilisation des informations d'identification pour effectuer des tâches de diagnostic et de gestion.
Remarque
L'utilisateur indiqué doit disposer des privilèges suivants pour soumettre le travail d'implémentation des recommandations :ANALYZE ANY
ANALYZE ANY DICTIONARY
- Nom de bucket : sélectionnez le bucket Oracle Object Storage dans lequel stocker la sortie de travail. Le bucket Oracle Object Storage peut se trouver dans le même compartiment que le travail ou dans un autre compartiment. Vous devez disposer des droits d'accès requis du service Oracle Cloud Infrastructure Object Storage pour sélectionner le bucket. Pour plus d'informations, reportez-vous à Autorisations supplémentaires requises pour utiliser Diagnostics & Management.
- Type d'informations d'identification : sélectionnez l'une des options disponibles pour indiquer les informations d'identification de base de données à connecter à la base de données gérée. Pour plus d'informations sur les types d'informations d'identification, reportez-vous à Utilisation des informations d'identification pour effectuer des tâches de diagnostic et de gestion.
- (Facultatif) Cliquez sur Afficher le code SQL pour visualiser l'instruction SQL qui sera exécutée.
- Cliquez sur Implémenter toutes les recommandations.
- Fournissez les informations suivantes afin de créer un travail pour implémenter les recommandations :
Toutes les recommandations de la fonction de conseil des statistiques de l'optimiseur vont être implémentées et vous pouvez surveiller ce travail dans la section Travaux de la page Détails de la base de données gérée.