Vous êtes sur la page 1sur 40

2

Principaux diagnostics de réglage

2-1 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Objectifs

A la fin de ce chapitre, vous pourrez :


• consulter les principaux événements Wait pour déterminer
les temps d'attente les plus importants
• consulter les statistiques temporelles Time Model pour
diagnostiquer des problèmes de performances
• utiliser les vues dynamiques des performances pour afficher
les statistiques et les événements Wait
• utiliser les fonctionnalités de surveillance d'Enterprise
Manager
• identifier les principaux composants de réglage des fichiers
d'alertes
• identifier les principaux composants de réglage des fichiers
trace utilisateur

2-2 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Réglage des performances : Diagnostics

Les outils de diagnostic permettent de collecter et de formater


les types de données suivants sur les performances :
• Statistiques cumulées :
– Evénements Wait avec informations temporelles
– Statistiques basées sur les temps d'exécution
• Mesures de performances : Taux statistiques
• Statistiques échantillonnées : Historique des sessions
actives
– Statistiques par session
– Statistiques par instruction SQL
– Statistiques par service
– Autres dimensions

2-3 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


2-4 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.
Outils de réglage des performances

Outils disponibles :
• Outils de base :
– Statistiques basées sur les temps d'exécution
– Principaux événements Wait
– Vues et tables dynamiques des performances
– Fichier d'alertes
– Fichiers trace
– Pages Oracle Enterprise Manager
• Module d'extension Statspack
• Options :
– Oracle Diagnostics Pack
– Oracle Tuning Pack

2-5 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Finalités du réglage

Le réglage (tuning) vise à :


• réduire le temps de réponse
• augmenter le débit
• augmenter la capacité de charge
• réduire le temps de récupération

2-7 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Principaux événements Wait

2-8 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Temps BdD

Temps BdD =

Temps d'attente BdD +

Temps CPU BdD

2-9 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Comparaison entre temps CPU et temps d'attente

Temps BdD = Temps CPU BdD + Temps d'attente BdD

Temps
CPU Réglage des
instructions SQL
Application
éventuellement
évolutive
nécessaire

Réglage
Aucun gain
d'instance/RAC obtenu
nécessaire par l'ajout de
CPU/noeuds
Temps
d'attente

2 - 10 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Statistiques temporelles Time Model : Présentation
• Les statistiques temporelles Time Model donnent une idée de
la manière dont le temps est consommé dans la base de
données Oracle
Temps BdD
• Toutes les statistiques utilisent la même
dimension : le temps

ns
Analyses

io
ex
Jav
• Ces statistiques sont accessibles via a

nn
QL
PL/S

Co
les vues suivantes :
– V$SYS_TIME_MODEL SQL

– V$SESS_TIME_MODEL
• Le temps BdD est le temps total consommé par les appels à la
base de données lors des sessions utilisateur
• Le réglage a pour but de réduire ce temps
• La valeur du temps BdD permet d'évaluer l'impact des
différentes entités de la base sur les performances

2 - 11 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Hiérarchie des statistiques Time Model

DB time background elapsed time


DB CPU background CPU time
connection management call elapsed time RMAN CPU time
sequence load elapsed time (backup/restore)
sql execute elapsed time
repeated bind elapsed time
parse time elapsed
hard parse elapsed time
hard parse (sharing criteria) elapsed time
hard parse (bind mismatch) elapsed time
failed parse elapsed time
failed parse (out of shared memory) elapsed time
PL/SQL execution elapsed time
inbound PL/SQL RPC elapsed time
PL/SQL compilation elapsed time
Java execution elapsed time

2 - 12 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Exemple de statistiques Time Model

2 - 14 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Quiz

Les mesures Time model effectuées sur votre base de


données font apparaître des temps d'attente importants.
Les attentes (événements Wait) consomment plus de temps
que les traitements (CPU). Cela signifie que l'application est
évolutive et que l'ajout de capacité CPU peut améliorer les
performances.
a. Vrai
b. Faux

2 - 15 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Vues dynamiques des performances

Les vues dynamiques des


performances permettent
d'accéder à des informations
relatives à l'évolution des Données de session

statuts et des conditions dans Evénements Wait

Allocations de mémoire
l'instance. Exécution SQL en cours
Util. données d'annulation

Curseurs ouverts

Util. fichiers de journalisation

Etc.

Instance Oracle

2 - 16 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Vues dynamiques des performances :
Exemples d'utilisation

SQL> SELECT sql_text, executions


a 2 FROM v$sqlstats
3 WHERE cpu_time > 200000;

SQL> SELECT * FROM v$session


b 2 WHERE machine = 'EDRSR9P1' and
3 logon_time > SYSDATE - 1;

SQL> SELECT sid, ctime


c
2 FROM v$lock WHERE block > 0;

2 - 17 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Vues dynamiques des performances :
Eléments à prendre en compte
• Le propriétaire de ces vues est SYS.
• Différentes vues sont disponibles selon que :
– l'instance a démarré
– la base de données est montée
– la base de données est ouverte
• Vous pouvez interroger V$FIXED_TABLE pour afficher
les noms de toutes les vues.
• Ces vues sont souvent appelées "vues V$".
• Toutes les opérations de lecture sur ces vues sont en mode
"current".

2 - 18 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Niveaux de statistiques

V$STATISTICS_LEVEL

STATISTICS_LEVEL

BASIC TYPICAL ALL

Désactive toutes Statistiques


Valeur par
les fonctions de supplémentaires
défaut
réglage automatique pour les diagnostics
recommandée
(self-tuning) SQL manuels

2 - 19 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Statistiques relatives à l'activité de l'instance
et aux événements Wait

Activité de l'instance Vues


Evénements Wait dynamiques
des performances

Etats

2 - 21 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Classes de statistiques système

V$SYSSTAT User
Debug

Redo
SQL

Classes de
statistiques
système
RAC
Enqueue

OS
V$STATNAME Cache
V$SESSTAT

2 - 23 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Afficher les statistiques

Les statistiques relatives à l'activité de l'instance sont


collectées à différents niveaux :
• Sessions
– toutes les sessions : V$SESSTAT
– session en cours : V$MYSTAT
• Services : V$SERVICE_STATS
• Système : V$SYSSTAT

2 - 24 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Afficher les statistiques relatives à la mémoire SGA

SQL> SELECT * FROM V$SGAINFO;

NAME BYTES RES


-------------------------------- ---------- ---
Fixed SGA Size 1303132 No
Redo Buffers 17780736 No
Buffer Cache Size 50331648 Yes
Shared Pool Size 142606336 Yes
Large Pool Size 4194304 Yes
Java Pool Size 12582912 Yes
Streams Pool Size 0 Yes
Shared IO Pool Size 0 Yes
Granule Size 4194304 No
Maximum SGA Size 836976640 No
Startup overhead in Shared Pool 41943040 No
Free SGA Memory Available 608174080

2 - 26 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Evénements Wait

• Une collection d'événements Wait fournit des informations


sur les sessions qui ont dû ou doivent attendre pour
différentes raisons.
• Ces événements sont répertoriés dans la vue
V$EVENT_NAME, qui contient les colonnes suivantes :
– EVENT#
– NAME
Wait
– PARAMETER1
– PARAMETER2
– PARAMETER3

2 - 27 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Utiliser la vue V$EVENT_NAME

SQL> SELECT name, parameter1, parameter2, parameter3


2 FROM v$event_name;

NAME PARAMETER1 PARAMETER2 PARAMETER3


------------------------------- ---------- ---------- ----------
PL/SQL lock timer duration
alter system set mts_dispatcher waited
buffer busy waits file# block# id
library cache pin handle addr pin address 0*mode+name
log buffer space
log file switch (checkpoint incomplete)
transaction undo seg# wrap# count
...
1118 rows selected.

2 - 28 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Classes Wait
V$SESSION_WAIT_CLASS V$SYSTEM_WAIT_CLASS
Ressources BdD internes
Concurrency
E/S processus
log file sync Commit System I/O en arrière-plan

Echange de E/S processus


User I/O en avant-plan
messages Network
sur le réseau

Sessions Idle Classes Administrative


Commandes
du DBA
inactives Wait
Code Doivent
d'application Application Other
être rares
utilisateur

Ressources Cluster Configuration incorrecte


Configuration
RAC de la BdD ou de l'instance
Scheduler Gestionnaire
V$SERVICE_WAIT_CLASS V$EVENT_NAME
de ressources

2 - 29 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


2 - 30 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.
Afficher les statistiques sur les événements Wait
• Niveaux des statistiques sur les EVENT X X X
TOTAL_WAITS X X X
événements Wait :
TOTAL TIMEOUTS X X X
– Système TIME_WAITED X X X
– Service AVERAGE_WAIT X X X

– Session TIME_WAITED_MICRO X X X
EVENT_ID X X X
• Les colonnes de statistiques TOTAL_WAIT_FG X
sur les événements Wait varient TOTAL_TIMEOUTS_FG X
d'une vue à l'autre. TIME_WAITED_FG X
AVERAGE_WAIT_FG X
V$SYSTEM_EVENT
TIME_WAITED_MICRO_FG X
SID X
V$SERVICE_EVENT SERVICE_NAME X
SERVICE_NAME_HASH X
WAIT_CLASS_ID X X
V$SESSION_EVENT
WAIT_CLASS# X X
WAIT_CLASS X X

2 - 31 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Evénements Wait courants

Evénement Wait Origine


Buffer busy waits Cache de tampons, DBWR

Free buffer waits Cache de tampons, DBWR, E/S

Db file scattered read, Réglage des E/S et des


Db file sequential read instructions SQL

Enqueue waits (enq:) Verrous externes

Library cache waits Verrous internes et mutex

Log buffer space E/S tampon de journalisation

Log file sync Opérations commit trop


nombreuses, E/S

2 - 33 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Utiliser la vue V$SESSION_WAIT

SQL> SELECT sid, seq#, event, wait_time, state


2 FROM v$session_wait;

SID SEQ# EVENT WAIT STATE


TIME
--- - -- ---- -------------------------------- -------
1 1284 pmon timer 0 WAITING
2 1697 rdbms ipc message 0 WAITING
3 183 rdbms ipc message 0 WAITING
4 4688 rdbms ipc message 0 WAITING
5 114 smon timer 0 WAITING
6 14 SQL*Net message from client -1 WAITED
SHORT
TIME

2 - 34 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Précision des statistiques système

• Vues (et colonnes) contenant des temps en millionièmes


de seconde :
– V$SESSION_WAIT, V$SYSTEM_EVENT,
V$SERVICE_EVENT,
V$SESSION_EVENT (TIME_WAITED_MICRO)
– V$SQL, V$SQLAREA (CPU_TIME, ELAPSED_TIME)
– V$LATCH, V$LATCH_PARENT, V$LATCH_CHILDREN
(WAIT_TIME)
– V$SQL_WORKAREA, V$SQL_WORKAREA_ACTIVE
(ACTIVE_TIME)
• Vues (et colonnes) contenant des temps en millièmes
de seconde :
– V$ENQUEUE_STAT (CUM_WAIT_TIME)

2 - 36 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Quiz

Les statistiques système et les vues dynamiques des


performances fournissent des cumuls pour les mesures
importantes de l'instance. Tous les réglages d'instance
s'appuient sur ces statistiques. Les statistiques système
constituent les diagnostics les plus fiables disponibles.
a. Vrai
b. Faux

2 - 37 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Utiliser les fonctionnalités des packs

Surveillance et réglage Surveillance et réglage


avec les packs sans les packs
• Traces SQL
Oracle Diagnostics Pack
• Référentiel AWR (Automatic Workload Repository) • Statspack
• Moniteur ADDM (Automatic Database Diagnostic Monitor)
• Historique des sessions actives (ASH) • Statistiques système
• Surveillance des performances (base de données et hôte)
• Notifications d'événements : méthodes, règles et calendriers de notification
• Statistiques basées sur
• Historique des événements et des mesures de performances (BdD et hôte) les temps d'attente
• Arrêts temporaires (blackouts)
• Mesures de référence (baselines) dynamiques
• Statistiques basées sur
• Modèles de surveillance les temps d'exécution
• Statistiques sur le
Oracle Tuning Pack Database Configuration système d'exploitation
• SQL Access Advisor Management Pack
• SQL Tuning Advisor • Configuration de la base et de l'hôte • Mesures de performances
• Déploiements
• Automatic SQL Tuning
• SQL Tuning Sets • Application de patches à la base et affichage
• Statistiques sur les
• Evolution automatique du cache des patches services
des plans dans SQL Plan • Préparation des patches
Management • Clonage de la base • Histogrammes
• Surveillance des • Clonage du répertoire d'origine
instructions SQL Oracle Home • Statistiques destinées à
• Réorganisation d'objets • Recherche de configuration l'optimiseur
• Comparaison de configurations
• Stratégies • Statistiques SQL

2 - 38 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Accéder à la page d'accueil de la base de données

https://host name:1158/em

2 - 40 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Accès aux informations sur les performances
à partir de la page d'accueil de la base de données

2 - 41 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Consulter le fichier d'alertes

Dans la région Related Links de la page d'accueil de la base de


données, cliquez sur Alert Log Contents

2 - 43 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Utiliser le fichier d'alertes pour le réglage

Les informations suivantes du fichier d'alertes peuvent être


utiles pour le réglage de la base de données :
• Temps nécessaire à l'archivage
• Heures de début et de fin de la récupération d'instance
• Erreurs de "verrou mortel" et de dépassement du temps
imparti
• Points de reprise incomplets
• Heures de début et de fin des points de reprise

2 - 44 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Fichiers trace utilisateur

• La fonction de trace d'un processus serveur peut être


activée ou désactivée au niveau de la session ou de
l'instance.
• Les fichiers trace utilisateur contiennent des statistiques
pour les instructions SQL concernées par la fonction de
trace dans la session.
• Ils sont créés pour chaque processus serveur.
• Ils peuvent également être créés par :
– l'exécution d'une commande BACKUP CONTROL FILE TO
TRACE
– des erreurs de processus

2 - 46 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Fichiers trace de processus en arrière-plan

• Le serveur Oracle effectue un dump, dans des fichiers trace,


d'informations sur les erreurs détectées par tout processus
d'arrière-plan.
• Le Support technique Oracle utilise ces fichiers trace pour
réaliser des diagnostics et résoudre les problèmes.
• En général, ces fichiers ne contiennent pas d'informations
relatives au réglage.

2 - 47 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Quiz

Quel(s) outil(s) de diagnostic utiliseriez-vous pour savoir quand


ont eu lieu le dernier démarrage et la dernière sauvegarde de
la base de données ?
a. Fichiers trace
b. Fichier d'alertes
c. Page d'accueil d'Enterprise Manager
d. Vues V$

2 - 48 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Synthèse

Ce chapitre vous a permis d'apprendre à :


• consulter les principaux événements Wait pour déterminer
les temps d'attente les plus importants
• consulter les statistiques temporelles Time Model pour
diagnostiquer des problèmes de performances
• utiliser les vues dynamiques des performances pour afficher
les statistiques et les événements Wait
• utiliser les fonctionnalités de surveillance d'Enterprise
Manager
• identifier les principaux composants de réglage des fichiers
d'alertes
• identifier les principaux composants de réglage des fichiers
trace utilisateur

2 - 49 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.


Présentation de l'exercice 2 :
Utiliser les outils de base
Dans cet exercice, vous allez :
• consulter les principaux événements Wait et les statistiques
temporelles Time Model
• utiliser les informations du fichier d'alertes pour effectuer
un réglage
• afficher les statistiques système
• afficher les événements Wait

2 - 50 Copyright © 2010, Oracle et/ou ses filiales. Tous droits réservés.