0% ont trouvé ce document utile (0 vote)
57 vues28 pages

Less13 Performance TB3

C

Transféré par

abdelali ELFAIZ
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
57 vues28 pages

Less13 Performance TB3

C

Transféré par

abdelali ELFAIZ
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Gestion des performances

Copyright © 2005, Oracle. Tous droits réservés.


Objectifs
A la fin de ce chapitre, vous pourrez :
• utiliser Enterprise Manager pour surveiller
les performances
• régler les instructions SQL à l'aide de SQL Tuning
Advisor
• régler les instructions SQL à l'aide de SQL Access
Advisor
• utiliser la gestion automatique de la mémoire partagée
(ASSM -Automatic Shared Memory Management)
• utiliser Memory Advisor pour dimensionner
les mémoires tampon
• consulter les vues dynamiques des performances
• résoudre les problèmes concernant des objets
non valides et inutilisables

13-2 Copyright © 2005, Oracle. Tous droits réservés.

Oracle Database 10g: Administration Workshop I 13-2


> Surv. performances
Tuning Advisor
Surveillance des performances Access Advisor
Mémoire
Statistiques
Objets non valides

Problèmes
Problèmes
d'allocation
d'allocation
de
demémoire
mémoire

Contention
Contentiondes
des Contention
Contention
périphé-riques
périphé-riques des
des
d'entrée/sortie
d'entrée/sortie ressources
ressources

?
Problèmes DBA Goulets
Problèmesliés
liés Goulets
au d'étranglement
aucode
codedes
des d'étranglement
applications réseau
réseau
applications

13-3 Copyright © 2005, Oracle. Tous droits réservés.

Surveillance des performances


Pour administrer une base de données Oracle Database 10g et garantir son bon fonctionnement,
l'administrateur de base de données (DBA) doit surveiller régulièrement ses performances afin de
localiser les goulets d'étranglement et de corriger les problèmes.
Le DBA peut examiner des centaines d'indicateurs de performances, allant des performances réseau
au temps passé sur les opérations individuelles des applications, en passant par la vitesse
d'entrée/sortie (E/S) des disques. Ces indicateurs de performances sont généralement appelés
mesures de performances de la base de données.
Remarque : Pour plus d'informations sur les performances de la base de données Oracle, reportez-
vous au cours Oracle Database 10g : Atelier SQL Tuning.

Oracle Database 10g: Administration Workshop I 13-3


Surveillance des performances

13-4 Copyright © 2005, Oracle. Tous droits réservés.

Surveillance des performances (suite)


L'onglet Performance d'Enterprise Manager est le portail menant à un ensemble d'outils de
surveillance des performances et de réglage (tuning). Le premier écran de cette page indique les
processus en cours et l'activité de la session active. Le graphique Average Active Sessions indique le
niveau d'utilisation de la CPU, ainsi que les ressources qui entraînent le plus d'événements Wait.
Dans l'écran de la diapositive ci-dessus, vous pouvez noter une augmentation récente de l'utilisation
de la CPU et des événements Wait pour User I/O, System I/O et Concurrency. Vous pouvez cliquer
sur l'une de ces catégories pour afficher des détails sur les événements Wait correspondants. Les
données d'E/S sont réparties par type (par exemple, lecture du fichier journal, écriture dans le fichier
de contrôle, etc.).

Oracle Database 10g: Administration Workshop I 13-4


Surveillance des performances

13-5 Copyright © 2005, Oracle. Tous droits réservés.

Surveillance des performances (suite)


Lorsque vous effectuez une hiérarchisation descendante sur une catégorie d'événements Wait
particulière, vous pouvez afficher les détails correspondant à un intervalle spécifique de cinq
minutes. Vous obtenez aussi les listes Top Working SQL et Top Working Sessions associées à
l'événement Wait pour l'intervalle considéré. Vous pouvez ainsi réaliser une analyse a posteriori des
ralentissements du système et en déterminer les causes potentielles.

Oracle Database 10g: Administration Workshop I 13-5


Surveillance des performances

13-6 Copyright © 2005, Oracle. Tous droits réservés.

Surveillance des performances (suite)


L'onglet principal Performance présente également les graphiques Instance Disk I/O et Instance
Throughput.

Oracle Database 10g: Administration Workshop I 13-6


Surveillance des performances :
Option Top Sessions

13-7 Copyright © 2005, Oracle. Tous droits réservés.

Surveillance des performances : Option Top Sessions


Lorsque vous cliquez sur le nom d'une des catégories d'E/S, vous accédez à la page Top Consumers,
qui répertorie les services, les modules, les actions, les clients et les sessions les plus consommateurs
de ressources. Elle fournit aussi des statistiques essentielles telles que le nombre de lectures et
d'écritures logiques et physiques, le nombre d'analyses (parses) et le nombre de tris. Si vous cliquez
sur le nom d'une catégorie d'E/S, la statistique associée devient la valeur de tri de la liste.
Le tableau présenté dans la diapositive répertorie les sessions, triées en fonction de l'utilisation de la
CPU. Vous constatez que l'utilisateur SH de la session 152 est le plus grand consommateur de CPU à
ce moment donné.

Oracle Database 10g: Administration Workshop I 13-7


Surveillance des performances :
Option Top Services

13-8 Copyright © 2005, Oracle. Tous droits réservés.

Surveillance des performances : Option Top Services


Dans les systèmes à plusieurs niveaux (multi-tiers), dans lesquels un serveur d'applications regroupe
les connexions de base de données, la consultation de la liste des sessions ne vous fournit pas
toujours les informations dont vous avez besoin pour analyser les performances. Le regroupement
des sessions par noms de service vous permet de surveiller les performances avec davantage de
précision. Dans l'exemple de la diapositive ci-dessus, on compte trois services : inventory, orcl
et hr. Dès lors qu'une connexion est établie via l'un de ces services, les données de performances de
la session sont capturées sous ce nom de service, quelle que soit la session utilisée pour la demande.
La liste indique clairement que le service applicatif inventory est celui des trois qui a été le plus
actif au cours de l'intervalle de cinq minutes considéré

Oracle Database 10g: Administration Workshop I 13-8


Surv. performances
> Tuning Advisor
SQL Tuning Advisor : Access Advisor
Mémoire
Présentation Statistiques
Objets non valides

Optimiseur ATO Réglage des instructions SQL


en mode Comprehensive

Mode de Détecter les statistiques


vérification obsolètes ou manquantes
des statistiques

Mode de réglage Régler le plan


de plan des instructions SQL
(profil SQL)

Mode d'analyse Ajouter les index manquants


des chemins Exécuter Access Advisor
d'accès

Mode d'analyse
SQL Tuning Restructurer
des instructions Advisor les instructions SQL
SQL

13-9 Copyright © 2005, Oracle. Tous droits réservés.

SQL Tuning Advisor : Présentation


SQL Tuning Advisor est l'élément principal du processus de réglage (tuning). Il appelle l'optimiseur
ATO (Automatic Tuning Optimizer) pour réaliser quatre types d'analyse spécifiques.
• Analyse des statistiques : L'optimiseur ATO vérifie chaque objet d'interrogation pour
déterminer si des statistiques sont obsolètes ou manquantes, et il émet des recommandations
pour la collecte des statistiques appropriées.
• Profilage (profiling) des instructions SQL : L'optimiseur ATO vérifie ses propres estimations
et collecte des informations auxiliaires pour éliminer les erreurs possibles. Il construit un
profil SQL à l'aide de ces informations auxiliaires et émet une recommandation pour sa
création. La création d'un profil SQL permet à l'optimiseur d'instructions de générer un plan
bien réglé.
• Analyse des chemins d'accès : L'optimiseur ATO vérifie si un nouvel index peut être utilisé
pour améliorer de façon significative l'accès à chaque table référencée dans l'interrogation. Si
c'est le cas, il émet des recommandations concernant la création de cet index.
• Analyse de la structure des instructions SQL : L'optimiseur ATO tente d'identifier les
instructions SQL qui utilisent des plans inappropriés et émet des suggestions concernant leur
restructuration. Les modifications suggérées peuvent être d'ordre syntaxique ou sémantique.

Oracle Database 10g: Administration Workshop I 13-9


SQL Tuning Advisor :
Options et recommandations

13-10 Copyright © 2005, Oracle. Tous droits réservés.

SQL Tuning Advisor : Options et recommandations


Une fois SQL Tuning Advisor lancé, Enterprise Manager crée automatiquement une tâche de réglage
(tuning), à condition que l'utilisateur dispose des privilèges ADVISOR appropriés pour cette
opération. La tâche de réglage et les options par défaut sont affichées dans la page SQL Tuning
Options. Dans cette page, l'utilisateur peut modifier les valeurs par défaut d'une tâche de réglage. Il
est important de choisir la portée appropriée pour la tâche de réglage. Si vous choisissez l'option
Limited, SQL Tuning Advisor émet seulement des recommandations basées sur l'analyse des
statistiques, l'analyse des chemins d'accès et l'analyse de la structure des instructions SQL. Aucune
recommandation concernant le profil des instructions SQL n'est générée. Si vous choisissez l'option
Comprehensive, SQL Tuning Advisor émet les mêmes recommandations qu'avec l'option Limited,
mais il appelle l'optimiseur en mode de profilage (profiling) des instructions SQL afin de construire
un profil SQL s'il y a lieu. Avec cette option, vous pouvez indiquer une durée maximale pour la
tâche de réglage, la valeur par défaut étant de 60 minutes. Après avoir sélectionné Run SQL Tuning
Advisor, configurez la tâche de réglage dans la page SQL Tuning Options. Revenez à la page Top
SQL et cliquez sur l'instruction réglée afin d'accéder à la page SQL Details, dans laquelle l'historique
des recommandations est affiché. Celui-ci indique que la tâche de réglage est terminée. Cliquez sur
la tâche pour voir les recommandations générales correspondantes. Cliquez sur View
Recommendations pour voir les détails concernant la tâche.

Oracle Database 10g: Administration Workshop I 13-10


Utiliser SQL Tuning Advisor

• Utilisez SQL Tuning Advisor pour analyser des


instructions SQL et obtenir des recommandations
concernant leurs performances.
• Pour indiquer la source des instructions
à analyser, vous avez le choix entre les options
suivantes :
– Top SQL : Analyse des instructions SQL les plus
consommatrices de ressources actuellement
actives.
– SQL Tuning Sets : Analyse d'un ensemble
d'instructions SQL que vous fournissez.
– Snapshots : Analyse d'un cliché.
– Baselines : Analyse d'une ligne de base.

13-11 Copyright © 2005, Oracle. Tous droits réservés.

Utiliser SQL Tuning Advisor


Vous pouvez utiliser SQL Tuning Advisor pour analyser des instructions SQL et obtenir des
recommandations concernant leurs performances. Vous exécutez généralement cette fonction de
conseil pour améliorer les performances via ADDM.
Vous pouvez également exécuter SQL Tuning Advisor lorsque vous souhaitez analyser les
instructions SQL consommant le plus de temps CPU, d'E/S et de mémoire.

Oracle Database 10g: Administration Workshop I 13-11


Utiliser SQL Tuning Advisor : Exemple

13-12 Copyright © 2005, Oracle. Tous droits réservés.

Utiliser SQL Tuning Advisor : Exemple


Vous pouvez appeler SQL Tuning Advisor en procédant comme suit :
1. Dans la région Related Links de la page d'accueil Database, cliquez sur Advisor Central.
2. Cliquez sur SQL Tuning Advisor. La page SQL Tuning Advisor Links apparaît.
Vous avez le choix entre les options suivantes pour indiquer la source des instructions à analyser :
- Top SQL : Analyse des instructions SQL les plus consommatrices de ressources actuellement
actives.
- SQL Tuning Sets : Analyse d'un ensemble d'instructions SQL que vous fournissez.
- Snapshots : Analyse d'un cliché (snapshot).
- Baselines : Analyse d'une ligne de base (baseline).
3. Sélectionnez Top SQL. Sélectionnez un intervalle d'analyse de cinq minutes en le désignant à l'aide
de la zone ombrée. Sélectionnez les instructions à analyser au cours de la période choisie.
4. Cliquez sur Run SQL Tuning Advisor. Vous accédez à la page SQL Tuning Options, qui affiche les
instructions SQL dans l'intervalle. Attribuez un nom et une description à la tâche, sélectionnez la
portée Comprehensive et l'heure de début Immediately.
Cliquez sur OK.
5. Revenez à la page Advisor Central. Le statut des tâches de conseil est indiqué sous l'en-tête Advisor
Tasks dans la région des résultats. Attendez que le statut de la tâche soit Completed. Vérifiez le statut
en cliquant sur le bouton Actualiser de votre navigateur. Sélectionnez la tâche et cliquez sur View
Result. La page SQL Tuning Result apparaît.
6. Sélectionnez l'instruction SQL et cliquez sur View Recommendations.

Oracle Database 10g: Administration Workshop I 13-12


SQL Tuning Advisor :
Statistiques sur une instruction SQL
select count(*) from x select count(*) from x
where object_id < 340 where object_id < 220

Chaque instruction entraîne une analyse complète.

13-13 Copyright © 2005, Oracle. Tous droits réservés.

Statistiques sur une instruction SQL


SQL Tuning Advisor présente également les statistiques pour un curseur représentant une instruction
SQL. Si vous visualisez les statistiques pour chacun des deux curseurs présentés dans la diapositive,
vous constatez qu'ils entraînent tous les deux une analyse complète (hard parse) de l'instruction. Cela
signifie qu'aucune correspondance n'a été trouvée pour l'instruction dans le cache "library". Cela est
dû à l'utilisation de littéraux au lieu de variables attachées (bind variables).

Oracle Database 10g: Administration Workshop I 13-13


SQL Tuning Advisor :
Identifier les instructions SQL en double

Variables
attachées
candidates

13-14 Copyright © 2005, Oracle. Tous droits réservés.

Identifier les instructions SQL en double


Vous pouvez identifier les instructions SQL en double en cliquant sur Duplicate SQL dans l'onglet
Performance. Les instructions SQL similaires sont regroupées, sauf si elles présentent des
différences de mise en forme ou de littéraux, . Vous pouvez ainsi identifier les instructions SQL de
l'application qui peuvent être consolidées, de manière à réduire les exigences portant sur le cache
"library" et à accélérer l'exécution des instructions.

Oracle Database 10g: Administration Workshop I 13-14


Surv. performances
Tuning Advisor
Utiliser SQL Access Advisor > Access Advisor
Mémoire
Statistiques
Objets non valides

13-15 Copyright © 2005, Oracle. Tous droits réservés.

Utiliser SQL Access Advisor


Vous pouvez utiliser SQL Access Advisor pour régler votre schéma et améliorer les performances des
interrogations. Pour cette fonction de conseil, vous devez identifier une charge globale SQL, c'est-à-dire
un ensemble représentatif d'instructions SQL accédant au schéma. Vous pouvez sélectionner la charge
globale à partir de différentes sources, notamment à partir de la charge globale en cours ou d'une charge
récente, ou d'un référentiel (repository) d'instructions SQL. Vous pouvez également utiliser une charge
globale définie par l'utilisateur, provenant par exemple d'un environnement de développement.
SQL Access Advisor peut émettre des recommandations telles que la création d'index ou de vues
matérialisées pour améliorer les performances des interrogations constituant la charge considérée.
Pour appeler SQL Access Advisor, procédez comme suit :
1. Dans la région Related Links de la page d'accueil Database, cliquez sur Advisor Central.
2. Cliquez sur SQL Access pour lancer un assistant. La page SQL Access Advisor: Workload Source
apparaît.
3. Indiquez la source de la charge globale et cliquez sur Next. La page SQL Access Advisor:
Recommendation Options apparaît.
4. Indiquez si vous souhaitez que la fonction de conseil recommande des index, des vues
matérialisées ou les deux.

Oracle Database 10g: Administration Workshop I 13-15


Utiliser SQL Access Advisor (suite)
5. Indiquez le mode Limited ou Comprehensive. Le mode Limited est plus rapide car il se
concentre sur les instructions consommant le plus de ressources.
6. Cliquez sur Next. La page SQL Access Advisor: Schedule apparaît. Acceptez l'exécution
immédiate (option par défaut) ou planifiez une exécution ultérieure.
7. Cliquez sur Next. La page SQL Access Advisor: Review apparaît.
8. Passez en revue les options sélectionnées et cliquez sur Submit pour lancer le travail.
Les résultats apparaissent sur la page Advisor Central. Les recommandations de SQL Access
Advisor sont classées selon les gains qu'elles permettent en termes de coût. Par exemple, une
recommandation peut être composée d'un script SQL comprenant une ou plusieurs
instructions CREATE INDEX, que vous pouvez implémenter en cliquant sur Schedule
Implementation.

Oracle Database 10g: Administration Workshop I 13-16


Surv. performances
Tuning Advisor
Gérer les composants de mémoire Access Advisor
> Mémoire
Statistiques
Objets non valides

• La gestion automatique de la mémoire


partagée (ASMM - Automatic Shared Memory
Management) :
– est recommandée pour simplifier la gestion
– vous permet d'indiquer la mémoire SGA totale
par l'intermédiaire d'un paramètre d'initialisation
– permet au serveur Oracle de gérer la quantité de mémoire
allouée à la zone de mémoire partagée, à la zone
de mémoire Java, au cache de tampons, à la zone de
mémoire Streams et à la zone de mémoire LARGE POOL
• La gestion manuelle de la mémoire partagée :
– dimensionne les composants par l'intermédiaire
de plusieurs paramètres d'initialisation individuels
– utilise Memory Advisor pour émettre
des recommandations

13-17 Copyright © 2005, Oracle. Tous droits réservés.

Gérer les composants de mémoire


La mémoire SGA comporte plusieurs composants. La taille de nombre de ces composants peut être
gérée par le serveur Oracle par l'intermédiaire de la fonction de gestion automatique de la mémoire
partagée (ASMM - Automatic Shared Memory Management). Cela simplifie les tâches de gestion de
la mémoire.
Vous pouvez également gérer la taille des composants manuellement en configurant plusieurs autres
paramètres d'initialisation. Si, ultérieurement, le serveur Oracle vous informe d'un problème de
performances lié à la taille de la mémoire SGA (Shared Global Area) ou PGA (Program Global
Area), vous pouvez utiliser Memory Advisor pour déterminer de nouveaux paramètres appropriés.
Memory Advisor peut modéliser l'effet de modifications de paramètres. En outre, vous pouvez
demander à ce que le serveur Oracle règle automatiquement les paramètres de mémoire importants
lorsque les conditions changent. Le réglage (tuning) automatique est recommandé.

Oracle Database 10g: Administration Workshop I 13-17


Activer la gestion automatique
de la mémoire partagée

Cliquez sur Enable


pour activer la gestion
automatique de la
mémoire partagée.

13-18 Copyright © 2005, Oracle. Tous droits réservés.

Activer la gestion automatique de la mémoire partagée


Si vous n'avez pas activé la gestion automatique de la mémoire partagée (ASMM- Automatic Shared
Memory Management) lors de la configuration de la base de données, vous pouvez l'activer en
procédant comme suit :
1. Cliquez sur Memory Parameters dans la région Instance de la page Administration.
2. Cliquez sur Enable.
La page Enable Automatic Shared Memory Management apparaît.
3. Indiquez la taille totale de la mémoire SGA. Cliquez sur OK.
Vous pouvez augmenter ultérieurement la taille totale de la mémoire SGA en augmentant la valeur
du paramètre d'initialisation SGA_TARGET dans la limite de la valeur indiquée par le paramètre
SGA_MAX_SIZE. Pour plus d'informations, reportez-vous au manuel Oracle Database
Administrator’s Guide.
Remarque : Oracle recommande d'utiliser la gestion automatique de la mémoire partagée afin de
simplifier les tâches de gestion de la mémoire.

Oracle Database 10g: Administration Workshop I 13-18


Activer la gestion automatique de la mémoire partagée (suite)
Lorsque la fonction de gestion automatique de la mémoire partagée est activée, vous ne devez
pas, au départ, définir de paramètres d'initialisation pour les composants spécifiques dont elle
gère la mémoire. Si, après avoir vu les effets de l'allocation de mémoire effectuée par cette
fonction, vous décidez d'ajuster la mémoire allouée à certains composants, vous pouvez
indiquer des valeurs pour ces derniers. Ces valeurs sont traitées comme des valeurs minimales
pour les composants concernés. Cette opération limite la quantité de mémoire disponible pour
le réglage (tuning) automatique, mais elle est utile si votre environnement requiert un
dimensionnement spécial non satisfait par la gestion automatique de la mémoire partagée. Les
paramètres d'initialisation concernés sont les suivants :
• SHARED_POOL_SIZE
• LARGE_POOL_SIZE
• JAVA_POOL_SIZE
• DB_CACHE_SIZE
• STREAMS_POOL_SIZE

Oracle Database 10g: Administration Workshop I 13-19


Gérer manuellement
la mémoire partagée

13-20 Copyright © 2005, Oracle. Tous droits réservés.

Gérer manuellement la mémoire partagée


Si vous n'utilisez pas la gestion automatique de la mémoire partagée (ASMM, Automatic Shared
Memory Management), vous devez fournir des valeurs pour chaque composant de la mémoire SGA
lors de l'installation et de la création de la base de données. Procédez comme suit :
1. Accédez à la page Memory Parameters en cliquant sur le lien Memory Parameters dans la
région Database Configuration de la page Administration.
2. Appelez l'une des fonctions de conseil (advisors) sur la mémoire en cliquant sur le bouton
Advice associé.
3. Cliquez sur Help pour consulter l'aide en ligne afin d'obtenir des informations supplémentaires
sur le fonctionnement de Memory Advisor.

Oracle Database 10g: Administration Workshop I 13-20


Utiliser Memory Advisor

13-21 Copyright © 2005, Oracle. Tous droits réservés.

Utiliser Memory Advisor


Memory Advisor permet de régler la taille des structures mémoire. Vous ne pouvez utiliser cette
fonctionnalité que lorsque le réglage (tuning) automatique de la mémoire est désactivé.
Memory Advisor se compose de trois fonctions de conseil qui fournissent des recommandations sur
les structures mémoire suivantes :
• Zone de mémoire partagée dans la mémoire SGA (System Global Area)
• Cache de tampons (buffer cache) dans la mémoire SGA
• Mémoire PGA (Program Global Area)
Appelez Memory Advisor en procédant comme suit :
1. Dans la région Related Links de la page d'accueil Database, cliquez sur Advisor Central.
2. Cliquez sur Memory Advisor dans la page Advisor Central. La page Memory Parameters
apparaît. Cette page indique la décomposition de la mémoire SGA.
Remarque : Pour pouvoir exécuter Memory Advisor, il est nécessaire de désactiver la gestion
automatique de la mémoire partagée (ASMM - Automatic Shared Memory Management).
3. Cliquez sur Advice en regard de la valeur Shared Pool ou Buffer Cache afin d'appeler la
fonction de conseil correspondante.
4. Cliquez sur PGA pour accéder à la page de propriétés relative à la mémoire PGA. Cliquez sur
Advice afin d'appeler PGA Advisor.

Oracle Database 10g: Administration Workshop I 13-21



Access Advisor
Statistiques dynamiques Mémoire
> Statistiques
de performances Objets non valides

Niveau système Niveau session Niveau service

V$SYSSTAT V$SESSTAT V$SERVICE_STATS


• statistic# • sid • service_name_hash
• name • statistic# • service_name
• class • value • stat_id
• value • stat_name
• stat_id • value

V$SYSTEM_EVENT V$SESSION_EVENT V$SERVICE_EVENT


• event • sid • service_name
• total_waits • event • service_name_hash
• total_timeouts • total_waits • event
• time_waited • total_timeouts • event_id
• average_wait • time_waited • total_waits
• time_waited_micro • average_wait • total_timeouts
• max_wait • time_waited
Statistiques cumulées • time_waited_micro • average_wait
• event_id • time_waited_micro
Evénements Wait

13-22 Copyright © 2005, Oracle. Tous droits réservés.

Statistiques dynamiques des performances


Pour pouvoir émettre un diagnostic pertinent sur les problèmes de performances, il est nécessaire de
disposer de statistiques. La base Oracle peut générer plusieurs types de statistiques, pour différents
niveaux de détail. Aux niveaux système, session et service, elle peut déterminer des événements
Wait et des statistiques cumulées. Le cadre supérieur présente les statistiques cumulées. Le cadre
inférieur regroupe les vues d'événements Wait. Lorsque vous analysez un problème de performances
à l'un de ces trois niveaux, vous examinez généralement l'évolution des statistiques (différentiel) sur
la période considérée. Tous les événements Wait possibles sont catalogués dans la vue
V$EVENT_NAME. Toutes les statistiques sont cataloguées dans la vue V$STATNAME>. Environ
360 statistiques sont disponibles dans la base de données Oracle.

Oracle Database 10g: Administration Workshop I 13-22


Statistiques dynamiques des performances (suite)
Afficher les statistiques au niveau système
Par exemple :
SQL> SELECT name, class, value FROM v$sysstat;
NAME CLASS VALUE
------------------------------- ------ ----------
...
table scans (short tables) 64 135116
table scans (long tables) 64 250
table scans (rowid ranges) 64 0
table scans (cache partitions) 64 3
table scans (direct read) 64 0
table scan rows gotten 64 14789836
table scan blocks gotten 64 558542
...
Les statistiques au niveau système sont classées en fonction du type de réglage (tuning) et de
l'objectif du débogage. Les différentes classes concernent l'activité générale de l'instance,
l'activité du tampon de journalisation (redo log buffer), le verrouillage, l'activité du cache de
tampons (buffer cache) de la base de données, etc.

Oracle Database 10g: Administration Workshop I 13-23


Vues de résolution
des problèmes et de réglage
Instance/Base de données Disque
V$DATABASE V$DATAFILE
V$INSTANCE V$FILESTAT
V$PARAMETER V$LOG
V$SPPARAMETER V$LOG_HISTORY
V$SYSTEM_PARAMETER V$DBFILE
V$PROCESS V$TEMPFILE
V$BGPROCESS V$TEMPSEG_USAGE
V$PX_PROCESS_SYSSTAT V$SEGMENT_STATISTICS
V$SYSTEM_EVENT
Contention
Mémoire V$LOCK
V$BUFFER_POOL_STATISTICS V$UNDOSTAT
V$LIBRARYCACHE V$WAITSTAT
V$SGAINFO V$LATCH
V$PGASTAT

13-24 Copyright © 2005, Oracle. Tous droits réservés.

Vues de résolution des problèmes et de réglage


La diapositive ci-dessus répertorie certaines des vues auxquelles vous pouvez accéder pour
déterminer la cause de problèmes de performances ou analyser le statut en cours de la base de
données.
Pour obtenir une description complète de ces vues, reportez-vous au manuel Oracle Database
Reference Manual.

Oracle Database 10g: Administration Workshop I 13-24


Surv. performances
Tuning Advisor
Objets non valides Access Advisor
Mémoire
et inutilisables Statistiques
> Objets non valides

Effet sur les performances :


• Les objets de code PL/SQL sont recompilés.
• Les index sont reconstruits.

13-25 Copyright © 2005, Oracle. Tous droits réservés.

Objets non valides et inutilisables


Il est possible de consulter le statut en cours de certains objets de base de données en interrogeant le
dictionnaire de données, décrit dans le chapitre intitulé "Gérer les objets de schéma". Si vous trouvez
des objets PL/SQL dont le statut est INVALID, la première question à vous poser est de savoir si cet
objet a déjà présenté le statut VALID. Il est fréquent que le développeur d'une application néglige de
nettoyer le code qui ne fonctionne pas. Si l'objet PL/SQL est non valide en raison d'une erreur dans
le code, vous ne pouvez pas faire grand chose tant que l'erreur n'est pas résolue. Si la procédure a été
valide par le passé et qu'elle est devenue non valide récemment, vous pouvez résoudre le problème
de deux façons différentes :
• Ne rien faire. La plupart des objets PL/SQL sont recompilés automatiquement si nécessaire
lors d'un appel. Les utilisateurs perçoivent simplement un léger retard dû à la recompilation des
objets. (Dans la plupart des cas, ce retard n'est même pas perceptible.)
• Recompiler manuellement l'objet non valide.
Les objets PL/SQL non valides peuvent être recompilés manuellement via Enterprise Manager ou
par l'intermédiaire de commandes SQL :
ALTER PROCEDURE HR.add_job_history COMPILE;
La recompilation manuelle de packages PL/SQL nécessite deux étapes :
ALTER PACKAGE [Link] COMPILE;
ALTER PACKAGE [Link] COMPILE BODY;

Oracle Database 10g: Administration Workshop I 13-25


Objets non valides et inutilisables (suite)
Les index inutilisables sont rendus valides via leur reconstruction, qui permet de recalculer les
pointeurs. La reconstruction d'un index inutilisable recrée l'index dans un nouvel emplacement,
puis l'index inutilisable est supprimé. Cette opération peut être effectuée via Enterprise Manager
ou par l'intermédiaire de commandes SQL :
ALTER INDEX HR.emp_empid_pk REBUILD;
ALTER INDEX HR.emp_empid_pk REBUILD ONLINE;
ALTER INDEX [Link] REBUILD TABLESPACE USERS;
Si la clause TABLESPACE est omise, l'index est reconstruit dans le même tablespace. La clause
REBUILD ONLINE permet aux utilisateurs de continuer de mettre à jour la table de l'index
pendant la reconstruction. (Sans le mot-clé ONLINE, les utilisateurs doivent attendre la fin de la
reconstruction pour effectuer une opération LMD sur la table affectée.)
Enterprise Manager utilise l'action Reorganize pour réparer un index UNUSABLE.
Remarque : La reconstruction d'un index nécessite que de l'espace libre soit disponible pour
l'opération. Vérifiez que l'espace libre est suffisant avant de tenter la reconstruction. Enterprise
Manager vérifie automatiquement les besoins en termes d'espace.

Oracle Database 10g: Administration Workshop I 13-26


Synthèse
Ce chapitre vous a permis d'apprendre à :
• utiliser Enterprise Manager pour surveiller
les performances
• régler les instructions SQL à l'aide de SQL Tuning
Advisor
• régler les instructions SQL à l'aide de SQL Access
Advisor
• utiliser la gestion automatique de la mémoire partagée
(ASMM - Automatic Shared Memory Management)
• utiliser Memory Advisor pour dimensionner les mémoires
tampon
• consulter les vues dynamiques des performances
• résoudre les problèmes concernant des objets
non valides et inutilisables

13-27 Copyright © 2005, Oracle. Tous droits réservés.

Oracle Database 10g: Administration Workshop I 13-27


Présentation de l'exercice :
Surveiller et améliorer les performances

Cet exercice porte sur les points suivants :


• Détecter et réparer les index inutilisables
• Utiliser SQL Tuning Advisor
• Utiliser la page Performance d'Enterprise Manager

13-28 Copyright © 2005, Oracle. Tous droits réservés.

Oracle Database 10g: Administration Workshop I 13-28

Vous aimerez peut-être aussi