Oracle Database 11g: Performance Tuning
Objectifs de la formation
- Décrire la méthodologie de réglage Oracle
- Identifier les instructions SQL problématiques et régler leurs performances
- Utiliser les outils fournis par Oracle pour surveiller et identifier les problèmes nécessitant un réglage d'instructions SQL ou d'instance
- Surveiller les performances d'une instance avec Enterprise Manager
- Utiliser les fonctions de conseil de la base de données pour corriger les problèmes de performances de façon proactive
- Régler les composants d'une instance à l'aide des paramètres associés
Contenu du cours
-
Introduction
- Présentation des objectifs et du contenu du cours
Outils de réglage élémentaires
- Présentation des outils de surveillance
- Enterprise Manager
- Vues V$, statistiques et mesures
- Evénements Wait
Utiliser le référentiel AWR (Automatic Workload Repository)
- Gérer le référentiel AWR et créer des clichés AWR
- Surveillance en temps réel des instructions SQL (fonctionnalité 11.1, NF chapitre 15)
Définir les problèmes
- Définir le problème
- Restreindre le périmètre et définir les priorités
- Etats relatifs aux instructions SQL les plus consommatrices de ressources
- Problèmes de réglage courants et réglages au cours du cycle de vie d'une application
- Session de réglage avec ADDM
- Performances et contraintes fonctionnelles
- Ressources pour le réglage des performances et établissement d'une "Service Request" relative aux performances
- Outils de surveillance et de réglage : Présentation
Utiliser des mesures et des alertes
- Mesures, alertes et lignes de base
- Limites des statistiques de base et outils de comparaison standard
- Solution Oracle Database 11g : Mesures
- Avantages des mesures
- Afficher un historique des mesures et utiliser EM pour afficher des détails sur les mesures
- Histogrammes statistiques et vues de type histogramme
- Modèle d'utilisation de Database Control et définition de seuils
- Alertes générées par le serveur, créer et tester une alerte et vues des mesures et des alertes
Utiliser des lignes de base
- Analyse comparative des performances avec des lignes de base AWR
- Lignes de base AWR
- Ligne de base glissante
- Lignes de base dans la page Performance Page Settings et modèles de ligne de base
- Créer des lignes de base AWR
- Gérer les lignes de base à l'aide de PL/SQL et vues relatives aux lignes de base
- Surveiller les performances à l'aide de lignes de base et définir des seuils d'alerte avec une ligne de base statique
- Utiliser EM pour configurer rapidement et modifier des seuils adaptatifs
Utiliser les outils AWR
- Tâches de maintenance automatisées
- Surveillance des performances par ADDM
- Historique des sessions actives : Présentation
Surveiller une application
- Présentation des services, de leurs attributs et de leurs types
- Créer et gérer des services dans un environnement mono-instance
- Tout est lié aux services
- Utiliser des services avec des applications client et avec Resource Manager
- Services et Resource Manager avec EM, et services avec le planificateur de travaux
- Utiliser des services avec des opérations en parallèle et seuils de mesure
- Fonctions d'agrégation et de trace pour les services et configuration de l'agrégation de services
- Agrégation de statistiques et fonction de trace pour un client, et vues de performances pour les services
Identifier les instructions SQL problématiques
- Phases de traitement des instructions SQL et rôle de l'optimiseur Oracle
- Identification des instructions SQL mal écrites, surveillance en temps réel des instructions SQL (fonctionnalité 11.1, NF chapitre 15) et états sur les instructions SQL les plus consommatrices
- Présentation des plans d'exécution, méthodes de consultation et modes d'utilisation
- Package DBMS_XPLAN et commande EXPLAIN PLAN
- Lecture d'un plan d'exécution, utilisation de la vue V$SQL_PLAN et interrogation du référentiel AWR
- Fonctions SQL*Plus AUTOTRACE et SQL Trace
- Utilisation de SQL Trace
- Génération d'un fichier trace relatif à l'optimiseur
Influencer l'optimiseur
- Fonctions de l'optimiseur d'instructions, sélectivité, cardinalité et coût, et modification du comportement de l'optimiseur
- Utiliser les conseils, les statistiques et les statistiques étendues de l'optimiseur
- Contrôler le comportement de l'optimiseur à l'aide de paramètres
- Activer les fonctionnalités de l'optimiseur d'interrogations et influencer l'approche de l'optimiseur
- Optimiser les instructions SQL et choisir un chemin d'accès
- Opérations de jointure et de tri
- Critères utilisés par l'optimiseur d'interrogations pour choisir le plan d'exécution associé à une jointure
- Réduire le coût des interrogations
Utiliser SQL Performance Analyzer
- Présentation de Real Application Testing et cas d'utilisation
- SQL Performance Analyzer : Processus et capture de la charge SQL globale
- Créer une tâche SQL Performance Analyzer et utiliser la commande DBMS_SQLTUNE.CREATE_TUNING_TASK (NF chapitre 9)
- Pages Optimizer Upgrade Simulation et SQL Performance Analyzer Task
- Etat comparatif et état comparatif détaillé des instructions SQL
- Régler les instructions moins performantes et éviter les régressions
- Analyse des modifications de paramètres et page Guided Workflow
- SQL Performance Analyzer : Exemple PL/SQL et vues du dictionnaire de données
Gestion des performances SQL
- Gérer les performances des instructions SQL et les statistiques de l'optimiseur, et exécuter des tâches de maintenance automatisées
- Options de collecte de statistiques et préférences relatives aux statistiques
- Restaurer des statistiques
- Publication différée des statistiques : Présentation et exemple
- Automatic SQL Tuning : Présentation
- Fonction de conseil STA (SQL Tuning Advisor) : Présentation
- Utiliser la fonction de conseil SAA (SQL Access Advisor)
- SQL Plan Management : Présentation
Utiliser Database Replay
- Vue d'ensemble et architecture
- Considérations sur la capture et la réexécution
- Options de réexécution et analyse
- Workflow de Database Replay dans Enterprise Manager
- Packages et procédures
- Vues du dictionnaire de données : Database Replay
- Database Replay : Exemple PL/SQL
- Calibrer les clients de réexécution
Régler la zone de mémoire partagée
- Architecture et utilisation de la zone de mémoire partagée
- Cache "library", verrous et mutex
- Outils de diagnostic pour le réglage de la zone de mémoire partagée
- Eviter les analyses complètes et les analyses partielles
- Dimensionner la zone de mémoire partagée et éviter la fragmentation
- Cache du dictionnaire de données et cache des résultats d'interrogation SQL
- Mémoire UGA et Oracle Shared Server
- Présentation et réglage de la zone de mémoire LARGE POOL
Régler le cache de tampons (buffer cache)
- Architecture d'une base de données Oracle : Cache de tampons
- Tampons de base de données
- Table de hachage des "buffers" pour les recherches
- Espaces de travail
- Objectifs et techniques de réglage du cache de tampons
- Symptômes et solutions relatifs aux performances du cache de tampons
- Lectures multiblocs à réglage automatique
- Vider le cache de tampons
(à des fins de test uniquement)
Régler la mémoire PGA et l'espace temporaire
- Utilisation de la mémoire SQL et impact sur les performances
- Gestionnaire de mémoire SQL
- Configurer la gestion automatique de la mémoire PGA et définir la valeur initiale de PGA_AGGREGATE_TARGET
- Surveiller et régler l'utilisation de la mémoire SQL
- Statistiques et histogrammes de la fonction de conseil sur la mémoire PGA cible
- Gestion automatique de la mémoire PGA avec Enterprise Manager et les états AWR
- Présentation et surveillance des tablespaces temporaires
- Récupération d'espace dans les tablespaces temporaires et option TABLESPACE pour la création d'une table temporaire
Gestion automatique de la mémoire
- Architecture d'une base Oracle, mémoire SGA dynamique et fonctions de conseil sur la mémoire
- Ajouter manuellement des granules aux composants
- Augmenter la taille d'un composant de la mémoire SGA, définir les paramètres de taille de la mémoire SGA et redimensionner manuellement les paramètres SGA dynamiques
- Gestion automatique de la mémoire partagée et architecture de l'interface Broker
- Comportement des paramètres SGA à réglage automatique et à réglage manuel
- Utiliser la vue V$PARAMETER et redimensionner SGA_TARGET
- Désactiver, configurer et surveiller la gestion automatique de la mémoire partagée (ASMM)
- Gestion automatique de la mémoire
Régler l'utilisation de l'espace dans les segments
- Gestion de l'espace et des extents et utilisation des extents gérés localement
- Mode de stockage des données d'une table et anatomie d'un bloc de base de données
- Réduire les E/S de bloc
- Paramètre DB_BLOCK_SIZE
- Considérations relatives aux blocs de petite taille et de grande taille
- Allocation des blocs, utilisation des listes de blocs libres et gestion de l'espace des blocs à l'aide de listes de blocs libres
- Gestion automatique de l'espace dans les segments
- Migration et chaînage, récupération d'espace dans les segments et compression de table
Régler les E/S
- Architecture relative aux E/S, caractéristiques du système de fichiers, modes d'E/S et E/S directes
- Bande passante et capacité de stockage, et principales mesures relatives aux E/S pour les bases de données Oracle
- Calibrage des E/S et Enterprise Manager, calibrage des E/S et interface PL/SQL, et statistiques relatives aux E/S et Enterprise Manager
- Méthodologie SAME (Stripe and Mirror Everything)
- Technologie RAID
- Diagnostic des E/S
- Réglage des E/S de base de données
- Automatic Storage Management : Présentation
Réglage des performances : Synthèse
- Meilleures pratiques identifiées au fil du cours
- Récapitulatif de la méthodologie de réglage des performances
Annexe B: Utiliser Statspack
- Installer Statspack
- Capturer des clichés Statspack
- Etats Statspack
- Considérations relatives à Statspack
- Statspack et états AWR
- Lecture d'un état Statspack
- Statspack et AWR