Introduction
- Démarche d'optimisation. Gains potentiels. Exigen-ces des utilisateurs. Définition et contrôle des objectifs.
Collecte des statistiques
- Utiliser le package DBMS_STATS.
- Les statistiques sur les tables, colonnes, index.
- Créer des histogrammes. Paramétrage du calcul des statistiques. Exportation et importation des statistiques de l'optimiseur.
Exercice
Calculer les statistiques pour les objets d'un schéma, afficher les informations pour les tables, les colonnes et les index.
Trace d'une application
- Modifier le paramètre SQL_Trace.
- Définir les paramètres d'initialisation appropriés.
- Activation du traçage dans Oracle 10g.
- Utilisation de TKPROF et analyse.
Exercice
Utilisation de Tkprof dans différents contextes.
Les événements d'attente (wait events)
- Les vues de performances dynamiques.
- Le fichier d'alertes et de trace utilisateur.
- Affichage et exploitation des événements d'attente.
Exercice
Interroger les vues pour afficher les événements d'attente.
Mesures de performances
- Afficher les mesures. Afficher les alertes.
- Créer des seuils et des mesures de référence.
Statspack
- Installer Statspack. Créer des clichés (snapshots) et des états Statspack.
Automatic Workload Repository (AWR)
- Gérer les clichés et générer des états AWR.
- Créer des jeux de clichés et comparer les périodes.
- Générer des états Automatic Database Diagnostic Monitor (ADDM).
Exercice
Modifier la périodicité de collecte des clichés.
Gestion de la mémoire SGA
- Activer la gestion automatique de la mémoire partagée. Fonction de conseil SGA. Large pool.
Exercice
Initialiser les paramètres SGA_MAX_SIZE et SGA_TARGET pour optimiser la gestion automatique de la mémoire.
La Shared Pool Area
- Dimensionnement du library cache. Réduction du nombre de parsings. Traitements stockés. Partage des curseurs. Le pool pour les objets volumineux.
Exercice
Conservation du code en mémoire.
Le buffer cache
- Conservation des blocs en cache.
- Répartition des tables en pools et par taille de blocs.
- Evénements d'attente sur le buffer cache.
- Processus Database Writer multiples.
Exercice
Définir les zones de buffer cache ayant une taille de bloc différente de la taille standard. Initialiser les pools KEEP et RECYCLE du buffer cache.
La journalisation
- Réglage des checkpoints.
- Définir le paramètre FAST_START_MTTR_TARGET.
- Dimensionner le buffer et les fichiers redo log.
- Impact de l'archivage. Opérations NOLOGGING.
- Création des objets. Suppression des contentions.
Exercice
Tuning du buffer redo log.
Régler les E/S
- Identifier les problèmes d'E/S. Concept SAME (Stripe and Mirror Everything). Choisir les solutions.
La mémoire PGA
- Identifier les problèmes. Dimensionner la mémoire PGA. Paramètres relatifs aux tablespaces temporaires.
L'espace de stockage
- Contrôle de l'organisation de la base. Répartition des objets. Tablespace Locally Managed. Partitionnement. Régler la gestion de l'espace de bloc.
Exercice
Réorganisation d'une base pour la performances.
Gestion de l'espace dans les segments
- La high Water Mark. Utilisation optimale de l'espace.
- La requête PURGE. Gestion des free lists.
- Gestion automatique de l'espace dans les segments (ASSM). Segment Advisor.
- Identifier la fragmentation des tables et des index.
Exercice
Utilisation de plusieurs free lists pour les tables.
Particularités des applications
- Les applications OLTP. Application Datawarehouse.
- Fonctionnement de l'optimiseur.
- Les index bitmap. Les tables externes.
- Transfert des données avec impdp.
- DBMS_ADVISOR. SQL Access Advisor. SQL Profile.
Exercice
Tuning d'un traitement batch.