-
Oracle 10g stats
Bonjour,
Est-ce que quelqu'un pourrait me donner des éléments pour trouver des informations sur la façon dont sont planifiées la collecte automatique de statistiques et comment vérifier que c'est activé.
Je sais qu'on peut définir dans le DDL de création de table la clause MONITORING, mais je ne sais pas ensuite comment cette clause est exploitée (d'où les questions ci-dessus).
Ce que je sais en revanche, c'est que mes problèmes de perf et de plan d'exécution sont naturellement résolus lorsque je force la collecte en lançant la procédure interractivement.
Merci!
-
Oracle 10 calcule automatiquement les statistiques avec un job DBMS_SCHEDULER qui s'appelle GATHER_STATS_JOB.
Ce job est créé automatiquement par CREATE DATABASE ou par les scripts d'upgrade si la base est une base ancienne 8i/9i migrée en 10g.
-
Dans le perf tuning guide, AWR est présenté. Mais il semble que les stats AWR et les stats de l'optimizer soient différentes, est-ce bien ça?
-
Il s'agit bien de statistiques différentes:
AWR est un outil d'analyse des performances au niveau de l'instance (comme Statspack) et est facturé séparément. Ceci dit il faut savoir par défaut que toute instance 10g crée des clichés (snaphots) AWR toutes les heures que vous ayez ou non la license Oracle pour les utiliser. Ces données sont stockées dans des tables du dictionnaire préfixées par WRH$ et sont purgées automatiquement.
Les statistiques sur les tables et les index sont calculées automatiquement en 10g et stockées dans le dictionnaire de la base pour être utilisé par le CBO (Cost Based Optimizer) lors de la compilation des requêtes SQL.