Les statistiques de base de données Oracle

Quand il vient à des statistiques au sein de votre base de données Oracle, jenformation est le pouvoir. Ce dicton traduit beaucoup de différentes manières, mais l'idée générale est que plus vous en savez à propos de quelqu'un ou quelque chose, plus efficace que vous pouvez travailler avec quelqu'un ou quelque chose.

Pour une base de données pour effectuer au plus haut niveau, vous devez donner les informations du moteur de base de données sur vos données. Données sur les données est appelé métadonnées. Statistiques Oracle est métadonnées sur vos données. Il ya plusieurs sortes de statistiques qui utilise Oracle:

  • Statistiques de l'objet: Ces statistiques contiennent des informations sur vos données réelles. Par exemple, le nombre de lignes ne possède une table? Ou, ce qui est l'unicité des données dans une colonne?

  • Les statistiques du système: Ces statistiques contiennent des informations sur l'exploitation des ressources de la consommation de la base de données tels que comment occupé sont les CPU ou ce qui est de la lecture / écriture de temps des disques?

  • Statistiques de table fixe: Ces statistiques contiennent des informations sur la base de données elle-même avec un accent mis sur les V $ tables internes ou dictionnaire de données.

Des chapitres entiers de livres ont été consacrés à la collecte de statistiques. Cependant, depuis peu (Oracle 10g) d'Oracle a fourni quelques méthodes internes pour la base de données qui aident à la collecte de statistiques de l'objet automatiquement. Le fait est qu'il ya encore des choses les administrateurs de base de données peuvent faire pour obtenir plus d'informations dans les mains de la base de données Oracle, car les statistiques du système et les statistiques de la table fixes ne sont pas encore réunis automatiquement.

Tout d'abord, parlons de la collecte des statistiques du système. Les statistiques du système ne sont pas recueillies par la base de données. La base de données est livré avec un ensemble de statistiques du système fourre génériques, mais ils ne sont pas vraiment va nous faire beaucoup de bien. Vous voyez, les statistiques du système, parfois aussi appelé les statistiques de charge de travail, devrait être aligné avec les périodes de pointe de vos bases de données lorsque votre charge de travail est plus lourde. Ce sont les moments où les statistiques du système les plus importants parce que ce que le système peut être imposé. La meilleure pratique consiste à capturer les statistiques dans l'intervalle de temps lorsque le système a la charge de travail la plus courante. Collecte de statistiques sur la charge de travail ne génère pas de charge supplémentaire.

Pour recueillir des statistiques du système, suivez cette procédure:

Disons que votre entreprise est le plus achalandé 12-5 h

À 12 heures, commencer les statistiques du système processus de collecte. Connectez-vous à votre base de données comme un utilisateur avec l'administrateur de base de données (DBA) privilèges et tapez la commande suivante:

EXECUTE DBMS_STATS.GATHER_SYSTEM_STATS (gathering_mode => 'START') -

À 17 heures, connectez-vous dans votre base de données et numéro:

EXECUTE DBMS_STATS.GATHER_SYSTEM_STATS (gathering_mode => 'STOP') -

La règle la plus commune est que vous vous réunissez les statistiques du système que lorsque se produit un changement physique dans votre environnement, par exemple, le serveur reçoit des processeurs plus rapides, plus de mémoire, ou le stockage de disque différent. Cependant, vous pourriez aussi envisager de le faire si vous sentez que votre charge de travail a considérablement changé. Par exemple, votre entreprise a doublé le nombre d'employés.

Une dernière note sur les statistiques du système - vous pouvez obtenir plus spécifique avec les statistiques du système. Ce fut un exemple le plus basique. Certains d'entre vous pourraient avoir deux charges de travail distincts qui diffèrent grandement de la consommation des ressources tout au long de votre journée. Par exemple, vous pouvez avoir une charge de travail de la journée qui est la plupart du temps transaction sur la base et une charge de travail de nuit qui est basé essentiellement lecture. Vous pouvez réellement définir plus d'un ensemble de statistiques du système, puis déployer chacun à certains moments de la journée grâce à une tâche planifiée de sorte que vous avez les meilleures statistiques de la charge de travail. Pour obtenir plus d'informations sur l'utilisation de cette approche, voir la référence de paquet DBMS_STATS avec des exemples pour la charge de travail variant à ce lien Oracle de documentation.


Enfin, fixe statistiques de la table. Les statistiques des tables fixes sont des statistiques qui contiennent des métadonnées concernant vos X $ et $ V vues internes. Ces points de vue ne sont pas seulement utilisés par vous, le DBA, mais aussi en interne par Oracle. Comme les statistiques d'objets normaux, plus Oracle connaît ce qui est contenu dans ces points de vue, mieux l'optimiseur peut effectuer contre eux. Comme les statistiques du système, Oracle recommande que ces statistiques sont rassemblés meilleure quand il ya une charge de travail sur le système.

Vous devez demander à l'administrateur de dabatase système (SYSDBA) ou analyser tout privilège système de dictionnaire pour exécuter cette procédure.

De recueillir des statistiques d'objets fixes suivez ces étapes:

Connectez-vous à la base de données en tant qu'utilisateur SYSDBA.

Lancez la commande:

exec DBMS_STATS.GATHER_FIXED_OBJECTS_STATS-

À noter que durant la période pendant laquelle ces statistiques sont en cours d'exécution, il va y avoir un petit impact sur la charge du système. Depuis ces statistiques sont semblables aux statistiques objet, il ne devrait pas être plus que vous le feriez normalement l'expérience lors de la collecte des statistiques de l'objet. Donc, même si Oracle recommande que vous faites cela pendant la charge de travail de pointe, assurez-vous que vous pouvez épargner les ressources nécessaires pour terminer le travail. Il peut parfois prendre jusqu'à 15 minutes. Oracle recommande également des statistiques d'objets fixes sont rafraîchies si vous apportez des changements majeurs de bases de données ou d'application. Par exemple, si vous augmentez la mémoire de la base de données, puis toutes les tables internes qui contiennent des informations sur le cache de tampon et piscine partagée peut changer.


» » » » Les statistiques de base de données Oracle