Vous êtes sur la page 1sur 32

PERFORMANCE BASE

DE DONNÉES

Abel Afonso abel.afonso@oracle.com


Avant Vente
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 Compare Period
ADDM 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
Activité récente
MMON
SGA V$ACTIVE_SESSION_HISTORY

MMNL

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

Wait Cons.
SQL ID PL/SQL Instance
Class Group

Session Plan Top Level Wait


PL/SQL Services Module
Attributes
Hash PL/SQL Event

ASH Operation Object


User
Session
Action

Blocking Parallel
OpCode
Session Process
Client

Session Resource
Identifiers Usage Trans.
Program
ID

Session
Type
Opérations Analytiques sur les Cubes

Operation Description
Rollup Effectue une agrégation sur les données principalement
en éliminant une dimension.
Drilldown Contraire du Rollup. Evolue depuis des données
agrégées vers des données plus détaillées sur une
dimension.

Slice Effectue la sélection d’une dimension dans le cube ce qui


permet de bâtir un sous-cube.
Dice 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 Regressed SQL


Period 1

I/O Bound

Undersized SGA
AWR Snapshot Compare Analysis Report
Period 2 Period ADDM
Concepts

• Période de base (conforme aux attentes) permet


des comparaisons multiples (utilisation de
« baselines » possible)
Période de Base • Pour RAT on va utiliser la période de capture ou
si possible la période de Replay avant
modifications

• La période de comparaison (non conforme aux


Période à comparer attentes) face à la période de base.
• Pour la production, la « mauvaise période ».

• A t on exécuté la même application? Est ce que


Compatibilité des cela à sens de comparer?
Charges de Travail • 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

Analyse
ADDM
Database
Problèmes majeurs remontés par Real-Time ADDM

Contraintes sur des Problèmes mémoire


ressources
• Library Cache Issues
• CPU Bound Hosts
• Memory Allocation Issues
• Memory Paging
• Excessive PGA growth
• I/O Bound
• Interconnect Bound Limites de
ressources atteintes
Blocages (hangs) • Sessions
• Processes
• Instance Shutting Down
• Top Blocker Analysis
Deadlocks
• Memory Pool Flushing
• ASM Unresponsive
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

Compliance Jobs
Summary Performance Resources SQL Monitor Incidents
Summary Running

Activity Active Data


Status Diagnostics Services Host CPU Memory
Class Sessions Storage
Tuning des applications
Automatic SQL Tuning
Well-Tuned SQL

Packaged Apps +
SQL Profile
High-Load
Customizable Apps +
SQL Advice

Customizable Apps +
Indexes & MVs +
Partitions
Applications

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

Gather Missing or Stale


Statistics
Create a SQL Profile
SQL Profiling
Add Missing Access
Statistics Analysis Structures
Access Path Analysis Modify SQL Constructs
SQL Restructure Analysis
Alternative Plan Analysis
Adopt Alternative
Parallel Query Analysis SQL Tuning Execution Plan Administrator
Advisor Create Parallel SQL
Profile
Comprehensive
Automatic Tuning
SQL Tuning
Optimizer
Recommendations

• 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 Administration Gestion fonctionnelle des


cycle de vie globale du SI applications

IT en libre service | Simple & Automatisé | Corrélation métier


Q&A
Database Hardware & Applications Middleware

11h00- 11h45 Performance DB Performance Utilisateur Performance MW


(Diagnostic & Tuning) (Real End User Experience) (AD4J, Diagnostic Advisor, …)

11h45 - 12h30 Gestion du cycle de vie Cloud Management Gestion du cycle de vie
(Database Lifecycle (IaaS) (Configuration, Provisioning &
Management) Patching des serveurs
d’applications)

13h30 – 14h15 Migration & Testing Administration Exadata Cloud Management


(Real Application Testing) (MWaaS & Virtual Assembly
Builder)

14h15 – 15h00 Data Management Migration & Testing Administration Exalogic


(Datamasking pack & Test (Application Testing Suite)
Data Management Pack)

15h15 – 16h00 Cloud Management Gestion des Applications Oracle Migration & Testing
(DBaaS) (Application Management Suites (Application Replay)
Focus sur Fusion Apps)