PERFORMANCE BASE DE DONNÉES Abel Afonso Avant Vente abel.afonso@oracle.com
The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle s products remain at the sole discretion of Oracle.
Database Management : Thèmes majeurs ASH Analytics Database Home Page Analyse Performance Database Real-Time ADDM Compare Period Advisor DB TIME indicateur incontournable
Database Time (DB Time) Utilisé dans AWR, ASH, DB REPLAY, Temps total passé dans des appels Database par les sessions de «premier plan» actives Inclus CPU time, IO time et Wait Time (Actif) Mesure fondamentale pour les performances database Temps de base de données est le temps total consacré à des processus utilisateurs travaillant activement ou en attente lors un appel à la base de données.
ASH ANALYTICS
Active Session History (ASH) Rolling buffer Statistics ASH V$SESSION SGA MMON MMNL Activité récente V$ACTIVE_SESSION_HISTORY AWR snapshots ASH collecte l information des sessions ACTIVES chaque seconde
Active Session History (ASH) Toutes les sessions actives collectent des données toutes les secondes Processus de premier plan et d arrière plan Processus actifs de premier plan contribuent à accroitre le DB Time En mémoire: V$ACTIVE_SESSION_HISTORY Intervalle de collecte = 1 seconde Sur Disque : DBA_HIST_ACTIVE_SESS_HISTORY Intervalle de collecte = 10 secondes ASH enregistre l activité de la Base de Données Une table de faits avec de multiples dimensions afin de faciliter le diagnostic des problèmes de performance
Analyse dans les Dimensions SQL SQL PL/SQL Ressources Identifiers Attributs SQL ID PL/SQL Wait Class Instance Cons. Group Session Attributes ASH PL/SQL Plan Hash Operation Top Level PL/SQL Wait Event Object Services User Session Module Action OpCode Blocking Session Parallel Process Client Session Identifiers Resource Usage Program Trans. ID Session Type
Opérations Analytiques sur les Cubes Operation Rollup Drilldown Slice Dice Description Effectue une agrégation sur les données principalement en éliminant une dimension. Contraire du Rollup. Evolue depuis des données agrégées vers des données plus détaillées sur une dimension. Effectue la sélection d une dimension dans le cube ce qui permet de bâtir un sous-cube. Idem «slice» mais sur 2 ou plusieurs dimensions Pivot Opération de visualisation qui permet de faire «tourner» les données pour fournir une autre présentation.
ASH Analytics Choix de l intervalle de temps ultra précis Graphe d activité détaillée Zoom activité par dimension Zoom activité par dimension
Etude de Cas : Mauvais Temps de Réponse à cause d I/O élevée Wait Class Mauvais t Add Filter Wait Event Sélectionne les données sur «Wait : User I/O» Analyse en profondeur sur Top SQL avec la dimension Wait Event Top SQL
Treemaps : Vision Analytique Multidimensionnelle Cette vue standard permet d exploiter les données de performance en utilisant des «hiérarchies de dimensions». Permet de traiter des milliers d éléments Les dimensions ASH fournissent de multiples possibilités de hiérarchies
COMPARE PERIOD ADDM
Compare Period ADDM Système de Production : Régression Ce matin les performances sont mauvaises, hier elles étaient excellentes. Pourquoi, Qu est ce qui a changé? DB Replay : Régression Je valide une migration en 11g et les performances sont dégradées. Pourquoi? Utilisation du Reporting intelligent RAT Compare Capture avec Replay ou Replay avec Replay
Compare Period ADDM Analyse ADDM complète sur 2 périodes de temps Détecte les causes, mesure les effets et recherche des corrélations: Causes: Evolution de la charge, Evolution de la configuration Effets: Dégradation SQL, Problème ressources (CPU, I/O, Mémoire, Interconnect) Recommandations avec impact quantifié SQL Commonality AWR Snapshot Period 1 Regressed SQL I/O Bound AWR Snapshot Period 2 Compare Period ADDM Analysis Report Undersized SGA
Concepts Période de Base Période de base (conforme aux attentes) permet des comparaisons multiples (utilisation de «baselines» possible) Pour RAT on va utiliser la période de capture ou si possible la période de Replay avant modifications Période à comparer La période de comparaison (non conforme aux attentes) face à la période de base. Pour la production, la «mauvaise période». Compatibilité des Charges de Travail A t on exécuté la même application? Est ce que cela à sens de comparer? Idéalement 100% pour capture/replay
Compare Period ADDM: Méthode Etape 1: Identifier ce qui a changé Configuration, Workload DB ont-ils changé? Est ce que le Buffer cache est plus petit? Pourquoi 10% de requêtes en plus? Etape 2: Quantifier les différences de performance Utiliser le DB Time comme référence Read I/O augmente de 55%, Pourquoi? Etape 3: Identifier la Root Cause Corréler les différences de Performance avec les Changements
Compare Period 3 Modes Cliché instantané Baseline Période spécifique
Compare Period: Report
REAL TIME MONITORING
La base de données ne répond plus Comment faire pour analyser une base lente ou bloquée? Si la Base ne répond pas, je ne peux pas me connecter Même si je peux me connecter je souhaiterais faire un diagnostic rapidement Dois je juste redémarrer la base? Toutes les informations en mémoire seront perdues Toutes les connections applicatives seront perdues Toutes les informations de diagnostic seront perdues Si seulement je pouvais savoir qu elle est la session bloquante afin de la tuer!
Real-Time ADDM Analyse temps réel d une base ayant des problèmes de performance ou bloquée Identifie les contentions et les deadlocks sur les ressources Quantifie l impact sur les performances Fournit les recommandations à implémenter Supporte Single instance ou RAC
Real-Time ADDM : Architecture Etablit une connexion «allégée» sans verrou supplémentaire en évitant la couche SQL à l aide de l agent. Etablit aussi une connexion JDBC Standard Les données renvoyées sont analysées par ADDM EM Agent Deadlocks Diagnostic Connection Hangs JDBC Connection Latches Database Analyse ADDM
Problèmes majeurs remontés par Real-Time ADDM Contraintes sur des ressources CPU Bound Hosts Memory Paging I/O Bound Interconnect Bound Blocages (hangs) Instance Shutting Down Top Blocker Analysis Memory Pool Flushing ASM Unresponsive Problèmes mémoire Library Cache Issues Memory Allocation Issues Excessive PGA growth Limites de ressources atteintes Sessions Processes Deadlocks
Database Home Page : Nouveautés Vision complète et paramétrable de la Base de Données Possibilité de personnaliser les écrans afin de réorganiser les portlets Vision des requêtes SQL monitorées Vision des performances par Classe de Wait et Service
Database Home Page Aperçu complet des ressources systèmes CPU, y compris l'utilisation par les autres instances Mémoire avec ventilation par composants Sessions Active par Classe de Wait Occupation Espace Liste des problème ouverts via Incident Summary ADDM et Analyse Compliance comme dans la version précédente Database Home Page Summary Compliance Summary Performance Jobs Running Resources SQL Monitor Incidents Status Diagnostics Activity Class Services Host CPU Memory Active Sessions Data Storage
Tuning des applications Automatic SQL Tuning Well-Tuned SQL Applications High-Load Packaged Apps + SQL Profile Customizable Apps + SQL Advice Customizable Apps + Indexes & MVs + Partitions Automatic Tuning Optimizer Tuning SQL automatique Capture des «high-load» SQL Tuning SQL via SQL Profiles Implémentation des plans SQL améliorés (optionnel) Tuning transparent pour les applications packagées
SQL Tuning Advisor SQL Profiling Statistics Analysis Access Path Analysis SQL Restructure Analysis Alternative Plan Analysis Parallel Query Analysis Automatic Tuning Optimizer SQL Tuning Advisor Gather Missing or Stale Statistics Create a SQL Profile Add Missing Access Structures Modify SQL Constructs Adopt Alternative Execution Plan Create Parallel SQL Profile Comprehensive SQL Tuning Recommendations Administrator SQL Tuning Advisor Identifie les plans d exécution alternatifs en utilisant les informations de performance temps réel et historique Recommande le degré de parallélisme approprié pour améliorer les performances SQL
Monitoring SQL en temps réel Visualiser les exécutions SQL Supervision des requêtes SQL «longues» Pas d impact sur les performances Supervision complète de chaque exécution SQL Statistiques de supervision «Global exécution level» «Plan operation level» «Parallel execution level» Supervision PL/SQL
Total Cloud Control Gestion complète du cycle de vie Administration globale du SI Gestion fonctionnelle des applications IT en libre service Simple & Automatisé Corrélation métier
Q&A
Database Hardware & Applications Middleware 11h00-11h45 Performance DB (Diagnostic & Tuning) Performance Utilisateur (Real End User Experience) Performance MW (AD4J, Diagnostic Advisor, ) 11h45-12h30 Gestion du cycle de vie (Database Lifecycle Management) Cloud Management (IaaS) Gestion du cycle de vie (Configuration, Provisioning & Patching des serveurs d applications) 13h30 14h15 Migration & Testing (Real Application Testing) Administration Exadata Cloud Management (MWaaS & Virtual Assembly Builder) 14h15 15h00 Data Management (Datamasking pack & Test Data Management Pack) Migration & Testing (Application Testing Suite) Administration Exalogic 15h15 16h00 Cloud Management (DBaaS) Gestion des Applications Oracle (Application Management Suites Focus sur Fusion Apps) Migration & Testing (Application Replay)