Vous êtes sur la page 1sur 119

Migration des bases de données de Oracle 10g vers

Oracle 11g et mise en place d’un système de collecte


centralisée des métriques des bases de données
Philippe Lefèvre

To cite this version:


Philippe Lefèvre. Migration des bases de données de Oracle 10g vers Oracle 11g et mise en place d’un
système de collecte centralisée des métriques des bases de données. Base de données [cs.DB]. 2014.
�dumas-01143016�

HAL Id: dumas-01143016


https://dumas.ccsd.cnrs.fr/dumas-01143016
Submitted on 16 Apr 2015

HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est


archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents
entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non,
lished or not. The documents may come from émanant des établissements d’enseignement et de
teaching and research institutions in France or recherche français ou étrangers, des laboratoires
abroad, or from public or private research centers. publics ou privés.
CONSERVATOIRE NATIONAL DES ARTS ET METIERS

CENTRE REGIONAL ASSOCIE DE VERSAILLES

___________________

MEMOIRE

présenté en vue d'obtenir

le DIPLOME D'INGENIEUR CNAM

SPECIALITE : Informatique

OPTION : Systèmes d'Information

par

M. Philippe LEFEVRE
___________________

Migration des bases de données de Oracle 10g vers Oracle 11g et mise en
place d’un système de collecte centralisée des métriques des bases de données

Soutenu le

_________________

JURY

PRESIDENT :

MEMBRES :
Remerciements

Je tiens tout d'abord à remercier mon épouse et ma fille pour leur patience, leur
indulgence, mais aussi leurs encouragements, pendant tout le temps consacré aux cours du
CNAM et à la préparation de ce mémoire.

Je remercie également M. Xavier Senneville et M. Stephen Le Gall qui m'ont


accordé leur confiance et m'ont encouragé à aller de l'avant durant le projet de migration et
la rédaction de ce mémoire. Plus généralement, je tiens à remercier l'ensemble des acteurs
du projet AceTP, qui ont su me réserver le meilleur accueil lorsque j'ai intégré le projet et
m’ont permis de travailler dans les meilleures conditions possibles.

Je remercie M. Keryvel, dont les conseils m'ont été très précieux au cours de la
rédaction de ce mémoire.

Enfin, toute ma gratitude va à l'ensemble du personnel du CNAM de Versailles


pour toute l'aide qu'ils m'ont apportée pendant mon parcours.

2
Liste des abréviations
AceTP : Above Client Expectation Transaction Processing

ANSI : American National Standards Institute

ARC : ARChiver

AWR : Active Workload Repository

BGL : Banque Générale du Luxembourg

BNCI : Banque nationale pour le commerce et l'industrie

BNL : Banca Nazionale del Lavoro

BNP : Banque Nationale de Paris

BPPB : Banque de Paris et des Pays Bas

BPSS : BNP Paribas Securities Services

CKPT : ChecKPoinT

CNEP : Comptoir National d’Escompte de Paris

DBA : Database Administrator (Administrateur de bases de données)

DBWR : DataBase Writer

DBUA : Database Upgrade Assistant

DDL : Data Definition Language (Langage de Définition des Données)

DML : Data Manipulation Language (Langage de Manipulation de Données)

EJB : Enterprise JavaBeans

FTT : Financial Transaction Tax (Taxe sur les transactions financières)

IST : Integration Support et Tests

ITP : Informatique Technologies et Processus

LGWR : LoG Writer

MOA : Maîtrise d'Ouvrage

MMON : Manageability MONitor

OCI : Oracle Call Interface

3
OCP : Oracle Certified Professional

PGA : Program Global Area

PL/SQL : Procedural Language / Structured Query Language

PMON : Process MONitor

RAC : Real Application Cluster

SGA : System Global Area

SMON : Sytem MONitor

SGBDR : Système de Gestion de Bases de Données Relationnelles

SQL : Structured Query Language

UAT : User Acceptance Tests

4
Glossaire
Dictionnaire de données : Ensemble de tables et de vues du système de gestion de bases
de données contenant toutes les informations concernant la structure de la base de données
(utilisateurs, tables, vues, indexes, contraintes d’intégrité, fichiers de données, etc.).

Enterprise JavaBeans (EJB) : Architecture de composants logiciels côté serveur pour la


plateforme de développement Java Enterprise Edition.

Framework : Ensemble de fonctions destiné à faciliter le développement d’applications.

Procedural Language / Structured Query Language (PL/SQL) : Langage propriétaire


d’Oracle permettant de combiner des instructions procédurales et des requêtes SQL au sein
de la base de données.

Sqlplus : Utilitaire, fourni par Oracle, permettant à un utilisateur de se connecter à la base


de données afin d’exécuter interactivement des requêtes SQL.

User Acceptance Tests (UAT) : Tests réalisés par les utilisateurs de l’application afin de
vérifier que celle-ci fonctionne conformément à leurs exigences.

5
Résumé

Dans un environnement qui a prouvé sa robustesse et son efficacité, qui fonctionne


quotidiennement sans accroc majeur, un changement de technologie représente toujours un
saut dans l’inconnu. C’est pourquoi, afin de rassurer toutes les parties prenantes d’un tel
système (c’est-à-dire notamment ses utilisateurs), il est nécessaire de s’assurer de la non-
régression de ce changement.

Lorsque ce changement de technologie concerne le système de gestion de bases de


données, la première inquiétude concerne la performance des requêtes qui sont exécutées
au quotidien et qui – souvent après un long effort d’optimisation – donnent parfaitement
satisfaction. Fort heureusement, les bases de données Oracle nous offrent (de plus en plus,
au fil des versions) les métriques nécessaires à l’étude de cette non-régression.

Au sein du projet AceTP, chez BNP Paribas Securities Services, j’ai eu l’honneur de
conduire un projet de migration de l’ensemble des bases de données, et donc de créer et
mettre en œuvre les outils capables de collecter puis d’analyser ces métriques. Une fois la
migration terminée, ces outils pourront être utilisés dans une optique de surveillance de la
production… jusqu’à la prochaine migration ?

In an environment that has proved its robustness and efficiency, which runs daily without
any major hitch, a change in technology is always a leap into uncharted waters. Therefore,
in order to reassure all stakeholders of such a system (that is to say in particular, its users),
it is necessary to ensure the non- regression of the change.

When this change of technology relates to the database, the first concern is the
performance of queries that are run daily and – often, after a long optimization effort - give
perfect satisfaction. Fortunately, Oracle databases offer us (increasingly over the versions)
metrics needed to study this regression.

Within AceTP project at BNP Paribas Securities Services, I had the honor to lead a project
to upgrade all the databases, and thus create and implement tools to collect and to analyze
these metrics. Once the migration is complete, these tools will be reused with the aim of
monitoring the production ... until the next migration?

6
Table des matières

I LE CONTEXTE ............................................................................................................................... 9
I.1 BNP PARIBAS ...................................................................................................................................... 9
I.1.1 Présentation ............................................................................................................................... 9
I.1.1.1 Histoire du groupe ................................................................................................................ 9
I.1.1.2 Organisation ....................................................................................................................... 11
I.2 BNP PARIBAS SECURITIES SERVICES ................................................................................................. 12
I.3 LE PROJET ACETP .............................................................................................................................. 13
I.3.1 Présentation ............................................................................................................................. 13
I.3.2 Organisation ............................................................................................................................ 14
I.3.3 Architecture ............................................................................................................................. 15
I.3.4 Présentation des bases de données .......................................................................................... 18
II LE TRAVAIL DEMANDE ............................................................................................................ 21
II.1 LA NECESSITE D'UNE MONTEE DE VERSION ........................................................................................ 21
II.2 OBJET DU STAGE ................................................................................................................................ 22
II.3 LES CONTRAINTES ET IMPERATIFS...................................................................................................... 22
II.4 LES OUTILS A NOTRE DISPOSITION ..................................................................................................... 22
II.4.1 Récolte des métriques .............................................................................................................. 22
II.4.2 Outils de tests .......................................................................................................................... 23
II.5 LES ACTEURS ..................................................................................................................................... 24
III MISE EN PLACE D'UN SYSTEME DE COLLECTE CENTRALISEE DES INDICATEURS DE
PERFORMANCE DE LA BASE DE DONNEES ORACLE.................................................................. 25
III.1 ARCHITECTURE DE LA BASE DE DONNEES ORACLE ....................................................................... 25
III.1.1 Base de données et instance .................................................................................................... 25
III.1.2 L'architecture........................................................................................................................... 25
III.1.2.1 Les composants de l'instance .............................................................................................. 27
III.1.2.2 Les fichiers de la base de données ...................................................................................... 28
III.1.2.3 Les processus serveurs........................................................................................................ 30
III.2 TRAITEMENT DES REQUETES ET MODELISATION DES ATTENTES ORACLE ...................................... 30
III.2.1 Les attentes Oracle .................................................................................................................. 31
III.2.2 Les mécanismes de verrouillage .............................................................................................. 31
III.2.2.1 Les verrous (locks) .............................................................................................................. 32
III.2.2.2 Les latches .......................................................................................................................... 34
III.2.3 Le cas général.......................................................................................................................... 34
III.2.3.1 L'analyse de la requête ....................................................................................................... 36
III.2.3.2 L'optimiseur statistique et le « row source generator » ..................................................... 37
III.2.4 La sélection des données ......................................................................................................... 39
III.2.5 L’insertion de données............................................................................................................ 40
III.2.6 La modification et la suppression de données ......................................................................... 42
III.3 PRESENTATION DU REFERENTIEL AWR ........................................................................................ 43
III.3.1 Les principales vues de AWR ................................................................................................... 45
III.3.1.1 Les vues présentant le contexte ........................................................................................... 45
III.3.1.2 Vues permettant l’analyse des ordres SQL : ....................................................................... 46
III.3.1.3 Autres vues .......................................................................................................................... 49
III.4 LE SYSTEME DE COLLECTE CENTRALISEE DES METRIQUES ORACLE .............................................. 50
III.4.1 Les problèmes posés ................................................................................................................ 50
III.4.2 La solution apportée ................................................................................................................ 51
III.4.2.1 L’extracteur de données...................................................................................................... 54
III.4.2.2 L’aiguilleur ......................................................................................................................... 55
III.4.2.3 L’incorporateur .................................................................................................................. 55
III.4.2.4 Le comparateur ................................................................................................................... 56

7
III.5 CONCLUSION ................................................................................................................................. 66
IV LA MIGRATION ........................................................................................................................... 67
IV.1 LES TESTS DE NON – REGRESSION.................................................................................................. 67
IV.1.1 L’environnement 11g ............................................................................................................... 67
IV.1.2 L’organisation ......................................................................................................................... 68
IV.1.3 Les résultats ............................................................................................................................. 70
IV.1.4 Les actions menées .................................................................................................................. 74
IV.1.4.1 Premières actions ............................................................................................................... 74
IV.1.4.2 Mise en place de l’événement 10949 .................................................................................. 74
IV.1.4.3 Réglage des requêtes en régression .................................................................................... 75
IV.2 LA MIGRATION DES BASES DE DONNEES DISTANTES ..................................................................... 75
IV.2.1 Le périmètre de la migration ................................................................................................... 76
IV.2.2 L’organisation de la migration ................................................................................................ 77
IV.2.3 Le planning de la migration .................................................................................................... 79
IV.2.4 Opérations post-migration....................................................................................................... 80
IV.3 DECOUVERTE DES NOUVEAUTES DE LA NOUVELLE VERSION ......................................................... 82
IV.4 BILAN DE LA MIGRATION .............................................................................................................. 82
V CONCLUSION............................................................................................................................... 84

8
I Le contexte

I.1 BNP Paribas

I.1.1 Présentation

Né de la fusion des banques BNP (Banque Nationale de Paris) et Paribas le 23 mai 2000, le
groupe BNP Paribas s'est renforcé par l'intermédiaire d'acquisitions (la banque italienne BNL
- Banca Nazionale del Lavoro – en 2006, Fortis Banque et la Banque Générale du
Luxembourg en 2009) pour devenir le leader européen des services bancaires et financiers. Il
est présent dans 78 pays et compte environ 190 000 collaborateurs, dont la majeure partie,
145 000, sont situés en Europe.

I.1.1.1 Histoire du groupe

Création du Comptoir National


d’Escompte de Paris (CNEP) et du
1848
Comptoir National d’Escompte du
Mulhouse.
Création à Amsterdam de la Banque de
1863
Crédit et de Dépôt des Pays Bas.
1869 Création de la Banque de Paris.
La fusion de la banque de Paris et la
Banque de Crédit et de Dépôt des Pays
1872
Bas donne naissance à la Banque de
Paris et des Pays Bas (BPPB).
Création de la Banque nationale pour
1932
le commerce et l'industrie (BNCI).
Création de la BNP :

La fusion de la BNCI et du CNEP est


1966 la plus grande opération de
restructuration bancaire en France
depuis la fin de la Seconde
Guerre mondiale.
Création de la Compagnie Financière
de Paris et des Pays-Bas : La BPPB
devient la Compagnie Financière de
1968
Paris et des Pays-Bas, et crée une filiale
au statut de banque de dépôts portant
son nom.

9
Nationalisation de la Compagnie
Financière de Paris et des Pays-Bas à
1982 Nationalisation de la BNP.
l’occasion de la nationalisation
de l’ensemble des banques françaises.
Privatisation de la Compagnie
Financière :

Avec 3,8 millions d’actionnaires


individuels, la Compagnie Financière
1987
de Paribas est alors la société comptant
le plus d’actionnaires au monde. La
Compagnie Financière de Paribas est
actionnaire à 48 % de la Compagnie
Bancaire.
Privatisation de la BNP :

La BNP, privatisée, prend un


nouveau départ. Les années 1990
sont marquées par le lancement de
1993
nouveaux produits et services
bancaires, l'expansion nationale et
internationale et la préparation pour
tirer le meilleur parti de l'avènement
de l'Euro.
Création de Paribas :

Le 12 mai est ratifiée la fusion de la


1998
Compagnie Financière de Paribas,
de la Banque Paribas et de la
Compagnie Bancaire.

Rapprochement de BNP et Paribas :

1999 À l’issue d’une double offre publique d’échange sans précédent et d’une
bataille boursière de six mois, la BNP et Paribas réalisent un rapprochement
d’égaux.
Création de BNP Paribas :
2000
La fusion de la BNP et de Paribas est réalisée le 23 mai 2000.
Acquisition de BNL en Italie :

2006 BNP Paribas acquiert BNL, la 6e banque italienne. Cette acquisition


transforme BNP Paribas en lui donnant un deuxième marché domestique
en Europe.
Rapprochement avec le groupe Fortis :

2009 BNP Paribas prend le contrôle de Fortis Banque et de BGL (Banque


Générale du Luxembourg), pour créer un Groupe européen leader dans
la banque de détail, avec quatre marchés domestiques.

10

, 2UJDQLVDWLRQ


/HJURXSH%133DULEDVHVWVWUXFWXUpHQWURLVVHFWHXUVG
DFWLYLWpV SOXVGHVDFWLYLWpVDQQH[HV 
FRPPHOHPRQWUHOHVFKpPDVXLYDQW





)LJXUH2UJDQLVDWLRQGXJURXSH%133DULEDV

/
DFWLYLWp ©5HWDLO %DQNLQJª %DQTXH GH GpWDLO  UHSUpVHQWH   DJHQFHV GDQV  SD\V
 FROODERUDWHXUV  GHV HIIHFWLIV GX *URXSH   PLOOLRQV GH FOLHQWV SDUWLFXOLHUV
SURIHVVLRQQHOV HW HQWUHSUHQHXUV  HQWUHSULVHV HW LQVWLWXWLRQV DLQVL TXH SOXV GH 
PLOOLRQVGHFOLHQWVDFWLIVFKH]3HUVRQDO)LQDQFH6DFRPSRVLWLRQHVWODVXLYDQWH

• 'RPHVWLF 0DUNHWV 0DUFKpVGRPHVWLTXHV UHJURXSHOHVUpVHDX[GHEDQTXHGHGpWDLO
GH %13 3DULEDV HQ )UDQFH HQ ,WDOLH HQ %HOJLTXH HW DX /X[HPERXUJ DLQVL TXH 
PpWLHUV VSpFLDOLVpV  $UYDO ORFDWLRQ ORQJXH GXUpH GH YpKLFXOHV G¶HQWUHSULVH DYHF
VHUYLFHV  %13 3DULEDV /HDVLQJ 6ROXWLRQV JDPPH GH VROXWLRQV ORFDWLYHV DOODQW GX
ILQDQFHPHQW G¶pTXLSHPHQWV j O¶H[WHUQDOLVDWLRQ GHV SDUFV  HW %13 3DULEDV 3HUVRQDO
,QYHVWRUV pSDUJQHHWFRXUWDJHHQOLJQH 

• ,QWHUQDWLRQDO5HWDLO%DQNLQJ %DQTXHGHGpWDLOLQWHUQDWLRQDOH UHJURXSHOHVDFWLYLWpV
GHEDQTXHGHGpWDLOH[HUFpHVSDU%133DULEDVKRUV]RQHHXURVRLWGDQVSD\V

• 3HUVRQDO )LQDQFH )LQDQFHPHQWV DX[ SDUWLFXOLHUV  HVW DX VHLQ GX *URXSH %13
3DULEDVOHVSpFLDOLVWHGHVILQDQFHPHQWVDX[SDUWLFXOLHUVjWUDYHUVVHVDFWLYLWpVGHFUpGLW
j OD FRQVRPPDWLRQ 3DU DLOOHXUV 3HUVRQDO )LQDQFH D pJDOHPHQW XQH DFWLYLWp GH FUpGLW
LPPRELOLHU

©,QYHVWPHQW6ROXWLRQVª 6ROXWLRQVG
LQYHVWLVVHPHQW UHJURXSHOHVDFWLYLWpVGH%133DULEDV
OLpHVjODFROOHFWHODJHVWLRQODYDORULVDWLRQODSURWHFWLRQHWO¶DGPLQLVWUDWLRQGHO¶pSDUJQHHW

 


GX SDWULPRLQH GHV FOLHQWV ,QYHVWPHQW 6ROXWLRQV UHJURXSH FLQT PpWLHUV DX[ H[SHUWLVHV
FRPSOpPHQWDLUHV
• O¶$VVXUDQFH %13 3DULEDV &DUGLI   FROODERUDWHXUV  SD\V 
PLOOLDUGVG¶HXURVG¶DFWLIVVRXVJHVWLRQ 

• OH PpWLHU 7LWUHV%13 3DULEDV 6HFXULWLHV 6HUYLFHV   FROODERUDWHXUV 
SD\VPLOOLDUGVG¶HXURVG¶DFWLIVVRXVDGPLQLVWUDWLRQPLOOLDUGVG¶HXURV
G¶DFWLIVHQFRQVHUYDWLRQ 

• ODEDQTXHSULYpH%133DULEDV:HDOWK0DQDJHPHQW FROODERUDWHXUV
SD\VPLOOLDUGVG¶HXURVG¶DFWLIVVRXVJHVWLRQ 

• OD*HVWLRQG¶DFWLIV%133DULEDV,QYHVWPHQW3DUWQHUV FROODERUDWHXUV
SD\VPLOOLDUGVG¶HXURVG¶DFWLIVVRXVJHVWLRQ 

• OHVVHUYLFHVLPPRELOLHUV%133DULEDV5HDO(VWDWH FROODERUDWHXUV
SD\VPLOOLDUGVG¶HXURVG¶DFWLIVVRXVJHVWLRQ 

/
DFWLYLWp ©&RUSRUDWH  ,QYHVWPHQW %DQNLQJª %DQTXH G
$IIDLUHV HW G
,QYHVWLVVHPHQW 
RSqUHGDQVOHVPpWLHUVGHEDQTXHG
DIIDLUHVDLQVLTXHGDQVOHFRQVHLOHWOHVPpWLHUVGHPDUFKpV
GH FDSLWDX[ (OOH SURSRVH XQH ODUJH JDPPH GH SURGXLWV HW VHUYLFHV j IRUWH YDOHXU DMRXWpH
UpSRQGDQW j O¶HQVHPEOH GHV EHVRLQV GHV LQYHVWLVVHXUV SDUWLFXOLHUV HQWUHSULVHV HW
LQVWLWXWLRQQHOV

(QILQOHJURXSH%133DULEDVHVWpJDOHPHQWHQJDJpGDQVG
DXWUHVDFWLYLWpV
• ODJHVWLRQG
XQSRUWHIHXLOOHGHSDUWLFLSDWLRQVFRWpHVHWQRQFRWpHVSDUO
LQWHUPpGLDLUH
GH%133DULEDV3ULQFLSDO,QYHVWPHQWV
• O
LPPRELOLHUGHFRPPHUFHVYLD.OHSLHUUH GpWHQXHj 

/DUpSDUWLWLRQGXSURGXLWQHWEDQFDLUHVHORQOHVGRPDLQHVG
DFWLYLWpHVWOHVXLYDQW OHVFKLIIUHV
LQGLTXpVVRQWHQPLOOLDUGVG
HXURV 





)LJXUH5pSDUWLWLRQGXSURGXLWQHWEDQFDLUHSDUGRPDLQHG
DFWLYLWp  

, %133DULEDV6HFXULWLHV6HUYLFHV

$X VHLQ GX S{OH ©,QYHVWPHQW 6ROXWLRQVª %13 3DULEDV 6HFXULWLHV 6HUYLFHV %366  HVW OD
ILOLDOH ©7LWUHVª GH%133DULEDVF
HVWjGLUHTX
HOOHHVWFKDUJpHGHODJHVWLRQRSpUDWLRQQHOOH
GHVLQYHVWLVVHPHQWVGHVDFWHXUVILQDQFLHUVPRQGLDX[HWSURSRVHGHVVROXWLRQVLQWpJUpHVjWRXV
OHVDFWHXUVGXF\FOHG¶LQYHVWLVVHPHQW


 


$ILQ GH V
DGUHVVHU j O
HQVHPEOH GHV DFWHXUV GX PDUFKp %DQTXHV &RQVHUYDWHXUV JOREDX[
ePHWWHXUVGHWLWUHV&RPSDJQLHVG
DVVXUDQFHV6RFLpWpVGH JHVWLRQ )RQGV GHSHQVLRQV HWF 
%366HVWGLYLVpHHQTXDWUHVHFWHXUVG
DFWLYLWpV
• $VVHWDQGIXQG6HUYLFHV 6HUYLFHVG
DFWLIVHWGHIRQGV 
• &OHDULQJDQG&XVWRG\6HUYLFHV 6HUYLFHVGHFRPSHQVDWLRQHWGHFRQVHUYDWLRQ 
• &RUSRUDWH7UXVW6HUYLFHV 6HUYLFHVDX[(QWUHSULVHVLQVWLWXWLRQQHOOHV 
• 0DUNHWDQG)LQDQFLQJ6HUYLFHV 6HUYLFHVGHPDUFKpVHWGHILQDQFHPHQW 


/
HQWUHSULVH HVW ORFDOLVpH GDQV SD\V FRXYUDQW OHV  FRQWLQHQWV HW SRVVqGH XQ UpVHDX GH
FRQVHUYDWLRQ PRQGLDOHTXL FRXYUHSOXV GH  PDUFKpV (OOH HPSORLH  FROODERUDWHXUV
GDQVOHPRQGH
(OOH DGPLQLVWUH HQYLURQ  IRQGV SRXU XQ WRWDO GH  PLOOLDUGV G
HXURV G
DFWLIV
DGPLQLVWUpVHWPLOOLDUGVG
HXURV HQFRQVHUYDWLRQ(OOHUpDOLVH FKDTXHDQQpHPLOOLRQV
GHWUDQVDFWLRQV GHUQLHUVFKLIIUHVFRQQXVDX 

, /HSURMHW$FH73

, 3UpVHQWDWLRQ


/H ORJLFLHO $FH73 $ERYH &OLHQW ([SHFWDWLRQ 7UDQVDFWLRQ 3URFHVVLQJ  HVW OD VROXWLRQ
GpYHORSSpHDXVHLQGHGXVHFWHXUG
DFWLYLWpV©&OHDULQJDQG&XVWRG\6HUYLFHVªGH%366DILQ
GHJpUHUODFRQVHUYDWLRQ FXVWRG\ HWOHUqJOHPHQWOLYUDLVRQ FOHDULQJ GHVWLWUHVGXJURXSH

'XSRLQWGHYXHGHVHVFOLHQWV%36©GpQRXHªGHVWUDQVDFWLRQVHW©FRQVHUYHªGHVWLWUHV
$YHF OH SUHPLHU VHUYLFH ± UqJOHPHQWOLYUDLVRQ &OHDULQJ  ±  $FH73  DFFHSWH HW YDOLGH GHV
LQVWUXFWLRQVGH0DUFKpSURYHQDQWGHVHVFOLHQWV'DQVOHVFLUFRQVWDQFHVLGpDOHVFHSURFHVVXV
HVW FRPSOqWHPHQW DXWRPDWLTXH HW OH V\VWqPH GpQRXH OHV WUDQVDFWLRQV VDQV LQWHUYHQWLRQ
H[WpULHXUH
$YHFOHVHFRQGVHUYLFH±FRQVHUYDWLRQ &XVWRG\ ±OHV\VWqPHWLHQWjMRXUOHVWLWUHVGHVFOLHQWV
%36 (Q RXWUH LO SHUPHW GH VXLYUH OD YLH GH VHV DFWLIV ILQDQFLHUV HW G¶\ DSSOLTXHU OHV
pYqQHPHQWVVXLYDQWV
• 3DLHPHQWGHGLYLGHQGHV
• 3DLHPHQWGHFRXSRQV
• 'LYLVLRQGHQRPLQDO
• 5HPERXUVHPHQW
• 5pXQLRQG¶DFWLRQQDLUHV
• 7RXWH RSpUDWLRQ SRXYDQW VH SURGXLUH VXU XQ WLWUH SDU H[HPSOH XQH 2IIUH 3XEOLTXH
G¶$FKDW 

$XGHOj GHV SULQFLSHV GH EDVH OD GpILQLWLRQ GX UqJOHPHQWOLYUDLVRQ HW GH OD FRQVHUYDWLRQ GH
7LWUHVFKDQJHHQIRQFWLRQGXSD\VHWGHYLHQWKDXWHPHQWFRPSOH[HVLO¶RQUHQWUHGDQVOHGpWDLO
GHVRSpUDWLRQV&HVYDULDWLRQVUpVXOWHQWGHVGLIIpUHQFHVHQWUHOHV0DUFKpVILQDQFLHUVGHFKDTXH
SD\VHWGHODSHUSpWXHOOHDFFpOpUDWLRQQpFHVVDLUHjO¶H[pFXWLRQGHVRSpUDWLRQV


$FH73HVWXQYDVWHSURMHWUpSDUWLVXUGHX[VLWHV 3DQWLQHQ)UDQFHHW&KHQQDLHQ,QGH HWTXL
UHJURXSHHQYLURQTXDWUHYLQJWSHUVRQQHV
/HORJLFLHOHVWXWLOLVpDXVHLQGHGLIIpUHQWHVEUDQFKHVGH%133DULEDV6HFXULWLHV6HUYLFHVVXU
FRQWLQHQWV (XURSH$VLH$PpULTXH2FpDQLH 


 


, 2UJDQLVDWLRQ


$XQLYHDXRSpUDWLRQQHOOHSURMHWVHFRPSRVHG
HQYLURQSHUVRQQHVTXLVHUpSDUWLVVHQWGDQV
OHVS{OHVHWpTXLSHVSUpVHQWpVGDQVO
LOOXVWUDWLRQFLGHVVRXV




)LJXUH2UJDQLVDWLRQGXSURMHW$FH73

/HS{OHIRQFWLRQQHOUHJURXSHOHVpTXLSHV

• 02$PDvWULVHG
RXYUDJH&HWWHpTXLSHHPSORLHSHUVRQQHVVLWXpHVHQ)UDQFHHW
HQ,QGH

• *29JRXYHUQDQFH&HWWHpTXLSHHVWFKDUJpHGXUHVSHFWGHVQRUPHVHWGHVSURFHVVXV
(OOHHVWFRPSRVpHGHGHX[FRQVXOWDQWVVLWXpVHQ)UDQFH

/HS{OHGpYHORSSHPHQWUHJURXSHTXDQWjOXL

• O
pTXLSHGHGpYHORSSHPHQWFRPSRVpHGHSHUVRQQHVHQYLURQ FHQRPEUHpWDQWDVVH]
IOXFWXDQWHQIRQFWLRQGHVFKDUJHVGHGpYHORSSHPHQW pTXLWDEOHPHQWUpSDUWLHVHQWUHOD
)UDQFHHWO
,QGH

• O
pTXLSHVXSSRUWGHSURGXFWLRQ 352' FRPSRVpHGHSHUVRQQHVHQ)UDQFHHWHQ
,QGH
 



(QILQOHS{OHDUFKLWHFWXUHUHJURXSHOHVpTXLSHVVXLYDQWHV

• 7(&+ LO V
DJLW GH O
pTXLSH WHFKQLTXH TXL D GpYHORSSp HW PDLQWLHQW GLIIpUHQWV
IUDPHZRUNVXWLOLVpVSDUO
pTXLSHGHGpYHORSSHPHQWSDUWLFLSHDX[FKRL[G
DUFKLWHFWXUH
V¶RFFXSH GHV WHVWV GH FKDUJH HWF (OOH HVW FRPSRVpH GH  FRQVXOWDQWV WRXV VLWXpV HQ
)UDQFH

• ,67 ,QWHJUDWLRQ6XSSRUWHW7HVWV LOV


DJLWGHO
pTXLSHHQFKDUJHGHO
LQWpJUDWLRQGHV
GpYHORSSHPHQWV DILQ GH FRQVWUXLUH XQ DSSOLFDWLI FRKpUHQW (OOH HVW pJDOHPHQW HQ
FKDUJH

î GX ERQ IRQFWLRQQHPHQW GHV PDFKLQHV KpEHUJHDQW O


DSSOLFDWLRQ HW OHV EDVHV GH
GRQQpHV

î GX ERQ IRQFWLRQQHPHQW GH O


DSSOLFDWLRQ VXU OHV GLIIpUHQWV HQYLURQQHPHQWV KRUV
SURGXFWLRQ

î GHO
H[pFXWLRQGHFHUWDLQVWHVWVDXWRPDWLVpV QRQUpJUHVVLRQSDUH[HPSOH 

 /
pTXLSHHVWFRPSRVpHGHSHUVRQQHV HQ)UDQFHHQ,QGH 

• '%$ 'DWD%DVH$GPLQLVWUDWRUV LOV


DJLWGHO
pTXLSHHQFKDUJHGHVEDVHVGHGRQQpHV
2UDFOH GX SURMHW HOOH HVW FKDUJpH QRWDPPHQW GX PDLQWLHQ RSpUDWLRQQHO HW GH
O
RSWLPLVDWLRQ GHV GLIIpUHQWHV EDVHV GH GRQQpHV GX SURMHW DLQVL TXH GHV UHTXrWHV
G
DFFqVDX[GRQQpHV(OOHHVWFRPSRVpHGHFRQVXOWDQWVGHX[VLWXpVHQ)UDQFH GRQW
MHIDLVSDUWLH OHWURLVLqPHHQ,QGH

, $UFKLWHFWXUH

/
DUFKLWHFWXUHGXSURMHWSUpVHQWpHjODSDJHVXLYDQWHUHSRVHVXUOHVSRLQWVVXLYDQWV

• OHFKRL[DpWpIDLWGHUpDOLVHUXQFOLHQWORXUGHQ6ZLQJ
• /D FRXFKH GH SUpVHQWDWLRQ UHJURXSH GHV (-% XWLOLVpV SRXU VpSDUHU OH FRGH PpWLHU HW
O
LQWHUIDFH FOLHQW O
DYDQWDJH pWDQW GH SRXYRLU j WRXW PRPHQW PRGLILHU O
LQWHUIDFH VDQV
WRXFKHUDXFRGHPpWLHU
• /D FRXFKH G
LQWpJUDWLRQ HVW O
pSLQH GRUVDOH GX SURMHW SXLVTXH HOOH HVW UHVSRQVDEOH GX
URXWDJH GHV PHVVDJHV UHoXV GHV DSSOLFDWLRQV H[WpULHXUHV YHUV OHV SURFHVVXV PpWLHUV
DVVRFLpV(OOHUHSRVHVXUOHVFRPSRVDQWVVXLYDQWV

• 7LEFR5HQGH]YRXVHVWXWLOLVpFRPPHEXVGHWUDQVSRUW

• )R[+RXQG HVW XQ FRPSRVDQW UpDOLVp HQ LQWHUQH XWLOLVp SRXU OLUH DQDO\VHU HW
LQWHUSUpWHUOHVPHVVDJHV6ZLIWUHoXV

• (DV\)ORZVHVWXQFRPSRVDQWUpDOLVpHQLQWHUQHFDSDEOHGHOLUHWRXVOHVPHVVDJHV
UHoXVSDU$FH73DXWUHVTXH6ZLIW

• 2X]HOXP HVW XQ FRPSRVDQW UpDOLVp HQ LQWHUQH TXL FDSWH WRXV OHV PHVVDJHV UHoXV
SXLV OHV VWRFNH HQ EDVH GH GRQQpHV DILQ GH SRXYRLU OH FDV pFKpDQW  UHWUDLWHU XQ
PHVVDJHHQFDVG
HUUHXU

• /DFRXFKH©6HUYHXUG
DSSOLFDWLRQªUHSRVHVXU2UDFOH:HEORJLF6HUYHUJ

• /DFRXFKHGHSHUVLVWDQFHUHSRVHVXU
 


î 3KDODQJHUTXLSHUPHWGHVWRFNHUGHVILFKLHUVTXHOTXHVRLWOHXUIRUPDW

î /DEDVHGHGRQQpHV2UDFOHJ5HOHDVHSRXUVWRFNHUOHVGRQQpHVGXSURMHW
3RXU GHV UDLVRQV KLVWRULTXHV FHWWH DUFKLWHFWXUH HVW UpSOLTXpH WURLV IRLV ,O H[LVWH DLQVL 
HQYLURQQHPHQWVGHSURGXFWLRQTXLUHJURXSHQWFKDFXQXQFHUWDLQQRPEUHGHFOLHQWVHQIRQFWLRQ
GHOHXUVLWXDWLRQJpRJUDSKLTXH DXVHLQG¶$FH73FKDTXHFOLHQWHVWUpIpUHQFpVRXVOHWHUPHGH
EUDQFKH 

• 352')UDQFIRUW3DULV3RORJQH+RQJULH
• 352'0LODQ
• 352'$XVWUDOLH%UpVLO+RQJ.RQJ,QGH6LQJDSRXU


$ FHV WURLV HQYLURQQHPHQWV YLHQW V


HQ JUHIIHU XQ TXDWULqPH QRPPp 352' TXL SHUPHW GH
JpUHUGHVDSSOLFDWLRQVVDWHOOLWHV )77)LQDQFLDO7D[H7UDQVDFWLRQ±7D[HVXUOHVWUDQVDFWLRQV
ILQDQFLqUHVFRQVROLGDWLRQGXULVTXH 

 

Figure 4 : Architecture du projet AceTP

17


, 3UpVHQWDWLRQGHVEDVHVGHGRQQpHV

3RXU FKDFXQ GHV HQYLURQQHPHQWV H[SOLFLWpV FLGHVVXV QRXV GLVSRVRQV GH  EDVHV GH
GRQQpHV

• /DEDVHGLWH©/,9(ªFRQWLHQWO
HQVHPEOHGHVHQUHJLVWUHPHQWVFRUUHVSRQGDQWjGHV
SRVLWLRQVHQFRUHDFWLYHV SDVHQFRUHFORVHV 

• /D EDVH GLWH ©+,6725,48(ª FRQWLHQW O


HQVHPEOH GHV HQUHJLVWUHPHQWV
FRUUHVSRQGDQW j GHV SRVLWLRQV TXL VRQW FORVHV GHSXLV PRLQV GH  PRLV ,O V
DJLW
GRQF GX SRLQW GH YXH GH O
DSSOLFDWLRQ $FH73 G
XQH EDVH GH GRQQpHV HQ OHFWXUH
VHXOH

• /DEDVH©28=(/80ªFRQWLHQWOHVPHVVDJHVVWRFNpVSDUOHFRPSRVDQWpSRQ\PH
DILQGHSRXYRLUUHMRXHUFHX[TXLQ
RQWSDVpWpWUDLWpVFRUUHFWHPHQW

6HXOO
HQYLURQQHPHQW352'QHGLVSRVHSDVGHEDVH©+,6725,48(ª

$ILQGHPDLQWHQLUOHVHQUHJLVWUHPHQWVGDQVODEDVHGHGRQQpHVDGpTXDWHGHX[WUDLWHPHQWV
VRQWODQFpVUpJXOLqUHPHQW

• /H SUHPLHU QRPPp +RXVHNHHSLQJ WUDQVIqUH OHV SRVLWLRQV pOLJLEOHV GHV EDVHV
©/,9(ªHW©28=(/80ªYHUVODEDVH©+,6725,48(ª

• /H VHFRQG QRPPp 3XUJH+LVWR VXSSULPH GH OD EDVH +,6725,48( WRXWHV OHV
SRVLWLRQVFORVHVGHSXLVSOXVGHPRLV

&KDTXH EDVH HVW VDXYHJDUGpH VXU EDQGH j OD ILQ GH FKDTXH PRLV OHV VDXYHJDUGHV pWDQW
FRQVHUYpHVDXPLQLPXPDQV LOHVWDLQVLSRVVLEOHGHUHVWDXUHUVLEHVRLQ SDUH[HPSOH
HQFDVG
DXGLW XQHQUHJLVWUHPHQWTXLDXUDLWpWpSXUJpGHODEDVH©+,6725,48(ª

/HVFKpPDVXLYDQWUHSUpVHQWHODIDoRQGRQWFKDTXHEDVHGHGRQQpHVHVWDOLPHQWpH

 




)LJXUH$OLPHQWDWLRQGHVEDVHVGHGRQQpHV

4XHOTXHVFKLIIUHV DX 


• /HV EDVHV GH GRQQpHV ©/,9(ª HW ©+,6725,48(ª FRQWLHQQHQW FKDFXQH 
WDEOHVHQYLURQ

• /
HQVHPEOHGHVEDVHVGHGRQQpHVGHSURGXFWLRQGXSURMHWRFFXSHSUqVGHWHUUD
RFWHWVFRPPHOHGpWDLOOHOHWDEOHDXFLGHVVRXV

WƌŽĚƵĐƚŝŽŶ ĂƐĞĚĞĚŽŶŶĠĞƐ dĂŝůůĞĞŶ'ŝŐĂͲŽĐƚĞƚƐ
352' /,9( 
ͳ  ͷͳͲ
ͳ  ͳ͹Ͳ
ͳǣ ͺͲͷ
ʹ   ͳͳͲ
ʹ  ͸ʹͲ
ʹ  ͳͲͷ
ʹǣ ͺ͵ͷ
͵   ʹͷ
͵  ͹ͷ
 

PROD3 OUZELUM 50
TOTAL PROD3 : 150
PROD4 LIVE 25
PROD4 OUZELUM 4
TOTAL PROD4 : 29
TOTAL GENERAL : 1819
Tableau 1 : Volumétrie des bases de données du projet AceTP (30/06/2013)

20


,, /HWUDYDLOGHPDQGp

$XPRPHQWRMHUHMRLQVOHSURMHW$FH73HQMDQYLHUOHSURMHWIRQFWLRQQHDYHFGHVEDVHV
GHGRQQpHVVRXV2UDFOHJ'pMjO
LGpHGHPLJUHUYHUVODYHUVLRQJHVWjO
RUGUHGXMRXU
SXLVTXHPHVFRQQDLVVDQFHVGHFHWWHYHUVLRQRQWIDLWODGLIIpUHQFHYLVjYLVGHVDXWUHVFDQGLGDWV
jFHSRVWH MHVXLVHQHIIHWFHUWLILp2UDFOHJ2&32UDFOH&HUWLILHG3URIHVVLRQDO 

,, /DQpFHVVLWpG
XQHPRQWpHGHYHUVLRQ

/DPRQWpHGHYHUVLRQHVWUHQGXHQpFHVVDLUHSDUODSROLWLTXHGHVXSSRUWGHO
pGLWHXU(QHIIHW
2UDFOH D\DQW PLV ILQ DX VXSSRUW ©SUHPLHUª G
2UDFOH J HQ MXLOOHW  FHWWH YHUVLRQ HVW
GRQF GpVRUPDLV VRXV OH UpJLPH GX VXSSRUW pWHQGX &HOD VLJQLILH TXH VL OD EDVH GH GRQQpHV
JpQqUHGHVHUUHXUV2UDFOHFRQWLQXHUDjDSSRUWHUVRQDLGHjODUpVROXWLRQGXSUREOqPHGDQVOD
PHVXUHGHVSDWFKVGpMjGpYHORSSpVPDLVQHUpDOLVHUDSOXVDXFXQFRUUHFWLIVXUODYHUVLRQJ
'DQV OH FDV R O
DSSOLFDWLRQ UHQFRQWUHUDLW XQ SUREOqPH TXL V¶DYpUHUDLW rWUH UpVROX GDQV OD
YHUVLRQVXSpULHXUH2UDFOHQHSRXUUDLWTXHQRXVFRQVHLOOHUXQHPRQWpHGHYHUVLRQ

3DU DLOOHXUV OH VXSSRUW pWHQGX SUHQDQW OXLPrPH ILQ HQ MXLOOHW  FRPPH OH PRQWUH OH
WDEOHDXFLGHVVRXVODPRQWpHGHYHUVLRQFRPPHQFHjGHYHQLUXUJHQWH




)LJXUHYDOLGLWpGXVXSSRUW2UDFOHVHORQOHVYHUVLRQVGHEDVHGHGRQQpHV VRXUFH2UDFOH 

'HSOXVODPRQWpHGHYHUVLRQDGpMjpWpUpDOLVpHSDUG
DXWUHVSURMHWVDXVHLQGH%366DXVVLLO
HVWSUpIpUDEOHG
KDUPRQLVHUOHVYHUVLRQVG
2UDFOHDXVHLQGHO
HQWUHSULVH&HODSHUPHWWUDHQVXLWH
DX[GLIIpUHQWVSURMHWVGHPXWXDOLVHUOHXUVFRQQDLVVDQFHVHWUHWRXUVG
H[SpULHQFHYLVjYLVGHOD
YHUVLRQDGRSWpH

(QILQODYHUVLRQJG
2UDFOHDSSRUWHXQFHUWDLQQRPEUHGHQRXYHDXWpVTXLVRQWVXVFHSWLEOHV
G
LQWpUHVVHU OH SURMHW $FH73 3DUPL FHOOHV TXL RQW pWp UHPDUTXpHV SDU OHV GLIIpUHQWHV pTXLSHV
GX SURMHW RQ SHXW QRWHU OHV VXLYDQWHV TXL  DSSDUDLVVHQW ©VXU OH SDSLHUª FRPPH OHV SOXV
LQWpUHVVDQWHV
• 2UDFOH$GYDQFHG&RPSUHVVLRQIRQFWLRQQDOLWpSHUPHWWDQWGHFRPSUHVVHUOHVGRQQpHV
VXUGLVTXHVDQVDIIHFWHUODSHUIRUPDQFHGHVOHFWXUHV&HWWHIRQFWLRQQDOLWpHVWVpGXLVDQWH
GDQV OD PHVXUH R HOOH SRXUUDLW SHUPHWWUH GH UpGXLUH O
HVSDFH GLVTXH XWLOLVp SDU OHV
EDVHVGHGRQQpHVHWGRQFGHUpGXLUHOHVFR€WVGHVWRFNDJH
• 5HVXOW &DFKH IRQFWLRQQDOLWp RIIUDQW OD SRVVLELOLWp GH SODFHU HQ FDFKH OH UpVXOWDW GH
FHUWDLQHV UHTXrWHV DILQ TXH OHV H[pFXWLRQV VXLYDQWHV GH OD PrPH UHTXrWH VRLHQW SOXV
UDSLGHV SXLVTXH DFFpGDQW GLUHFWHPHQW DX FDFKH HW SOXV VXU GLVTXH  &HWWH

 


IRQFWLRQQDOLWp SRXUUDLW SHUPHWWUH G
DPpOLRUHU OHV SHUIRUPDQFHV GH O
DSSOLFDWLRQ HQ
pYLWDQWG
H[pFXWHUSOXVLHXUVIRLVGHVUHTXrWHVLGHQWLTXHV
• /HV PRGLILFDWLRQV DSSRUWpHV DX QLYHDX GX FDOFXO GHV VWDWLVWLTXHV VHUD HQ PHVXUH
G
DSSRUWHUGHVDPpOLRUDWLRQVDXQLYHDXGHVSHUIRUPDQFHVGHVUHTXrWHVGDQVODPHVXUH
ROHXUSODQG
H[pFXWLRQVHUDLWFKRLVLjSDUWLUGHGRQQpHVSOXVILDEOHVTXHVRXV2UDFOH
J

,, 2EMHWGXVWDJH

$ OD ILQ GH O
DQQpH  MH PH YRLV FRQILHU OD SULVH HQ FKDUJH GH OD PRQWpH GH YHUVLRQ GHV
EDVHVGHGRQQpHVGXSURMHW$FH73&HOOHFLGHYUDVHIDLUHHQUHVSHFWDQWGHX[LPSpUDWLIV

• /D SULRULWp HVW GH V
DVVXUHU TXH OH SDVVDJH j OD QRXYHOOH YHUVLRQ Q
LPSDFWH SDV OHV
SHUIRUPDQFHVGHO
DSSOLFDWLRQ
• 8QH IRLV FH SUHPLHU SRLQW DVVXUp LO FRQYLHQGUD GH GpFRXYULU WRXWHV OHV QRXYHDXWpV
SURSRVpHV SDU OD QRXYHOOH YHUVLRQ HW pWXGLHU SXLV pYHQWXHOOHPHQW XWLOLVHU  FHOOHV TXL
SRXUUDLHQWDSSRUWHUXQJDLQ GHSHUIRUPDQFHPpWKRGRORJLTXHHWF jO
DSSOLFDWLRQ

(QUDLVRQGHODPXOWLSOLFLWpGHVHQYLURQQHPHQWVODPpWKRGRORJLHVHUDIRUWHPHQWLWpUDWLYHOD
PRQWpH GH YHUVLRQ G¶XQ HQYLURQQHPHQW VHUYLUD G¶H[SpULHQFH SRXU OD PRQWpH GH YHUVLRQ GH
O¶HQYLURQQHPHQW VXLYDQW $LQVL QRXV VHURQV SDUIDLWHPHQW HQWUDvQpV DX PRPHQW GH OD
PLJUDWLRQHQSURGXFWLRQ

3DUDLOOHXUVODPLJUDWLRQYHUV2UDFOHJV¶DFFRPSDJQHUDG¶XQHSDUWLHRUJDQLVDWLRQQHOOHGDQV
ODPHVXUHRLOPHIDXGUDQRWDPPHQW

•GpILQLUXQFDOHQGULHUGHPLJUDWLRQHWPµDVVXUHUGHVRQUHVSHFW
•HW FRRUGRQQHU OHV GLIIpUHQWV DFWHXUV LPSOLTXpV pTXLSHV GH SURGXFWLRQ GH
GpYHORSSHPHQWHWF GDQVODPLJUDWLRQ

,, /HVFRQWUDLQWHVHWLPSpUDWLIV

3DUPL OHV SUpUHTXLV GH IRQFWLRQQHPHQW G
2UDFOH J OH SOXV LPSRUWDQW FRQFHUQH OH V\VWqPH
G
H[SORLWDWLRQ(QHIIHWQRVPDFKLQHVGHSURGXFWLRQVRQWVRXVODYHUVLRQL9G¶+38QL[
DORUVTX
2UDFOHJQpFHVVLWHDXPLQLPXPODYHUVLRQL93DUFRQVpTXHQWDYDQWGHPLJUHU
G¶2UDFOH J YHUV RUDFOH J LO VHUD QpFHVVDLUH GH PLJUHU WRXWHV OHV PDFKLQHV GH
SUpSURGXFWLRQ HW GH SURGXFWLRQ YHUV OD YHUVLRQ L 9 G¶8QL[ &H FKDQWLHU PHQp SDU XQ
FROOqJXHV
HVWWHUPLQpjODILQGXSUHPLHUVHPHVWUH

3DU DLOOHXUV $FH73 V¶DSSUrWH j DFFXHLOOLU XQ FOLHQW WUqV LPSRUWDQW HQ  (XURQH[W /D
GLUHFWLRQ GX SURMHW SUpIqUH TXH OD PLVH HQ SODFH GH FH FOLHQW V
HIIHFWXH DYDQW OD PLJUDWLRQ
HIIHFWLYH GX PRWHXU 2UDFOH 3DUFRQVpTXHQW OD PLJUDWLRQ HIIHFWLYH HQ SURGXFWLRQ HVW SUpYXH
SRXUGpEXW

,, /HVRXWLOVjQRWUHGLVSRVLWLRQ

,, 5pFROWHGHVPpWULTXHV

$ILQ GH UpFROWHU OHV PpWULTXHV GH OD EDVH GH GRQQpHV QRXV XWLOLVHURQV $:5 $XWRPDWLF
:RUNORDG5HSRVLWRU\ ,OV
DJLWG
XQRXWLOIRXUQLSDU2UDFOHFKDUJpGHFROOHFWHUUpJXOLqUHPHQW
 


GHV PpWULTXHV UHODWLYHV j O
DFWLYLWp GH OD EDVH UHTXrWHV pYpQHPHQWV G
DWWHQWH VWDWLVWLTXHV
G
XWLOLVDWLRQGHVREMHWVHWF HWGHOHVHQUHJLVWUHUGDQVXQUpIpUHQWLHO

$:5FROOHFWHGHVPpWULTXHVFRQFHUQDQW
• OHPRGqOHGHWHPSVWHPSVSDVVpSDUODEDVHGHGRQQpHVSDUW\SHG
RSpUDWLRQ
• OHV pYpQHPHQWV G
DWWHQWH VWDWLVWLTXHV SURSUHV DX[ VHVVLRQV UHODWLYHV DX[ WHPSV
G
DWWHQWHVSDUpYpQHPHQW
• OHV VWDWLVWLTXHV GHV VHVVLRQV HW GX V\VWqPH VWDWLVWLTXHV FXPXODWLYHV UHODWLYHV DX[
VHVVLRQVHWDXV\VWqPH
• O
KLVWRULTXH GHV VHVVLRQV DFWLYHV XQ pFKDQWLOORQQDJH GHV VHVVLRQV DFWLYHV DYHF OHV
pYpQHPHQWVG
DWWHQWHHWOHVUHTXrWHVH[pFXWpHV
• OHVVWDWLVWLTXHV64/FDSWXUHGHVRUGUHV64/DYHFOHXUFRQVRPPDWLRQGHUHVVRXUFHV

/H PRGqOH GH GRQQpHV G
$:5 Q
HVW SDV IRXUQL H[KDXVWLYHPHQW SDU 2UDFOH 7RXWHIRLV
O
HQVHPEOH GHV WDEOHV TXL OH FRQVWLWXHQW SRVVqGHQW XQ QRP VXIILVDPPHQW H[SOLFLWH SRXU QRXV
SHUPHWWUH GH UHWURXYHU OHV LQIRUPDWLRQV TXL QRXV VHURQW QpFHVVDLUHV j OD UpFXSpUDWLRQ HW j
O
DQDO\VHGHVPpWULTXHV

/HWUDYDLOjUpDOLVHUjSDUWLUG
$:5HVWOHVXLYDQW
• UHFHQVHUO
HQVHPEOHGHVPpWULTXHVTXHFDSWXUHO
RXWLO
• GpILQLU SDUPL WRXWHV FHV PpWULTXHV FHOOHV TXL VHURQW SHUWLQHQWHV GDQV O
DQDO\VH GH OD
QRQUpJUHVVLRQGHO
DSSOLFDWLRQ
• UpDOLVHUOHVRXWLOVG
H[WUDFWLRQHWGHFRPSDUDLVRQGHVPpWULTXHV
• DQDO\VHUOHVpFDUWV

$:5HVWDSSDUXVRXVODYHUVLRQ2UDFOHJHWpYROXHjFKDTXHYHUVLRQPDMHXUHGHODEDVHGH
GRQQpHV /HV UpIpUHQWLHOV $:5 J HW J QH VRQW SDV FRPSDWLEOHV F¶HVWjGLUH TXH OH
QRPEUH GH PpWULTXHV GLVSRQLEOHV HVW SOXV LPSRUWDQW VRXV 2UDFOH J  FH TXL UHQG OD
FRPSDUDLVRQPDODLVpH3DUFRQVpTXHQWLOIDXGUDGpYHORSSHUXQRXWLOSHUPHWWDQWGHFRPSDUHU
OHVPpWULTXHVG
H[pFXWLRQG
XQPrPHMHXG
LQVWUXFWLRQVVXUGHVEDVHVHQJHWHQJ


,, 2XWLOVGHWHVWV


/DSDQRSOLHGHWHVWVUpDOLVpVVXUOHSURMHWpWDQWSDUWLFXOLqUHPHQWFRPSOqWHLOQRXVVHUDSRVVLEOH
GHQRXVJUHIIHUVXUXQRXSOXVLHXUVHQYLURQQHPHQWVGHWHVWVDILQGHUpDOLVHUQRVWHVWVGHQRQ
UpJUHVVLRQ
/DILJXUHVXLYDQWHSUpVHQWHO
HQVHPEOHGHVWHVWVUpDOLVpVVXU$FH73


 





)LJXUHOHVWHVWVVXU$FH73


'HX[HQYLURQQHPHQWVGHWHVWVQRXVLQWpUHVVHURQWSDUWLFXOLqUHPHQWGDQVFHWHQVHPEOH
• OHV WHVWV IRQFWLRQQHOV VRXYHQW DSSHOpV 7HVW SDFNV   LO V
DJLW GH WHVWV IRQFWLRQQHOV
DXWRPDWLVpV GRQW OH VFpQDULR HVW IRXUQL SDU FKDFXQH GHV EUDQFKHV XWLOLVDQW
O
DSSOLFDWLRQ
• OHV WHVWV GH SHUIRUPDQFHV SHUIRUPDQFH WHVWLQJ  LO V
DJLW GHWHVWV VLPLODLUHV DX[ WHVWV
IRQFWLRQQHOV OD GLIIpUHQFH UpVLGDQW SULQFLSDOHPHQW DX YROXPH GH GRQQpHV WUDLWp
SXLVTX¶LOVVRQWHIIHFWXpVVXUXQHEDVHGHGRQQpHVGRQWODYROXPpWULHHVWODPrPHTXH
FHOOHGHSURGXFWLRQ

,OIDXGUDGRQFrWUHHQPHVXUHGHIDLUHWRXUQHUFHVWHVWVVRXV2UDFOHJSXLVVRXV2UDFOHJ
GHFROOHFWHUjFKDTXHIRLVOHVPpWULTXHVSUpDODEOHPHQWLGHQWLILpHVFRPPHSHUWLQHQWHVSXLVGH
FRPSDUHUFHVPpWULTXHV

3DUDLOOHXUVHQ FHTXL FRQFHUQHOHVWHVWVGHVQRXYHOOHVIRQFWLRQQDOLWpV DSSRUWpHVSDU2UDFOH
JXQHQYLURQQHPHQWGpGLpVHUDPLVHQSODFH

,, /HVDFWHXUV

2XWUH O¶pTXLSH '%$ OHV pTXLSHV VXLYDQWHV VHURQW VROOLFLWpHV DX FRXUV GHV WHVWV GH QRQ
UpJUHVVLRQ
• O
pTXLSH,67TXLHVWFKDUJpHGHO
DXWRPDWLVDWLRQGHVWHVWVIRQFWLRQQHOV
• O
pTXLSH WHFKQLTXH TXL HVW TXDQW j HOOH HQ FKDUJH GH O
H[pFXWLRQ GHV WHVWV GH
SHUIRUPDQFH
• OHV pTXLSHV G
H[SORLWDWLRQ TXL VHURQW FKDUJpHV GH OD PLJUDWLRQ SK\VLTXH GHV EDVHV GH
GRQQpHV

 

III Mise en place d'un système de collecte centralisée des indicateurs de

performance de la base de données Oracle

Afin d'effectuer les tests de non-régression de la solution AceTP en version 11g d'Oracle,
nous avons décidé de mettre en œuvre un système de collecte des métriques stockées dans le
référentiel AWR de chacune des bases de données de tests. A cet effet, j'ai dû étudier les
tables et vues constituant ce référentiel, ce qui m'a permis d'identifier les métriques
pertinentes dans le cadre de cette non-régression.

Dans ce chapitre, nous aborderons dans un premier temps l'architecture des serveurs de bases
de données Oracle, afin de nous pencher dans un deuxième temps sur la manière dont les
requêtes sont traitées par le système, le but étant d'identifier les événements d'attente pouvant
entraîner des ralentissements. Puis, à partir de la rétro-ingénierie du référentiel AWR, nous
verrons quelles sont les métriques qui permettent de mesurer ces ralentissements et de
diagnostiquer leur source. Enfin, nous étudierons le système mis en place afin de centraliser
ces métriques et de les exploiter.

III.1 Architecture de la base de données Oracle

III.1.1 Base de données et instance

Dans la terminologie Oracle, les termes d'instance et de base de données sont parfois
confondus, alors qu'ils désignent des éléments distincts et complémentaires. Afin d'éviter
toute ambiguïté dans la suite de ce document, nous allons les définir.

La base de données regroupe l'ensemble des fichiers (fichiers de données, fichiers de contrôle,
fichiers de transactions, etc.) qui permettent le stockage des données. C'est la partie
persistante du serveur de bases de données.

L'instance, quant à elle, regroupe l'ensemble des processus d'arrière-plan qui permettront le
fonctionnement du système, et une zone mémoire partagée, que nous verrons plus loin dans ce
chapitre, la SGA (System Global Area). Il s'agit de la partie volatile du serveur de bases de
données.

Les deux termes ont longtemps été confondus, car avant l'apparition d'Oracle RAC (Real
Application Cluster), il existait une relation unaire entre les deux (une instance ne pouvait
accéder qu'à une base de données, et une base de données n'était associée qu'à une instance).
Avec Oracle RAC, une instance ne peut accéder qu'à une base de données, mais plusieurs
instances (souvent réparties sur plusieurs sites) peuvent accéder à une même base de données.
Si l'on se place en dehors du cas d'Oracle RAC, comme c'est le cas sur AceTP, un serveur de
base de données Oracle est composé d'une instance et d'une base de données.

III.1.2 L'architecture

L'architecture présentée ici est celle que l'on rencontre dans une grande majorité des
implémentations de serveurs de base de données Oracle ; il se trouve qu'il s'agit également
celle adoptée sur AceTP.

25
Figure 8: Architecture d'un serveur de base de données Oracle

26



,,,/HVFRPSRVDQWVGHO
LQVWDQFH

/DPpPRLUH

/D6*$ 6\VWHP*OREDO$UHD HVWXQH]RQHPpPRLUHSDUWDJpHSDUWRXVOHVSURFHVVXVTXL
FRQWLHQW OHV GRQQpHV HW OHV LQIRUPDWLRQV GH FRQWU{OH GH O
LQVWDQFH (OOH HVW FRPSRVpH GH
GLIIpUHQWHV]RQHV RXWDPSRQV 
• /H FDFKH GHV GRQQpHV EXIIHU FDFKH HQ DQJODLV  FRQWLHQW OHV EORFV GH GRQQpHV TXL
RQWpWpH[WUDLWVGHODEDVH&
HVWLFLTXHYRQWrWUHPLVHQFDFKH
P OHVGRQQpHVTXLYLHQQHQWG
rWUHOXHVVXUOHGLVTXH
P OHVGRQQpHVPRGLILpHVSDUXQHWUDQVDFWLRQDYDQWTX
HOOHVVRLHQWpFULWHVVXUOH
GLVTXH
$ILQGHIDLUHFRKDELWHUFHVGHX[W\SHVGHGRQQpHVDXVHLQGXWDPSRQGHX[OLVWHV
VRQWJpUpHV
P OD OLVWH GHV EORFV GH GRQQpHV ©VDOHVª F
HVWjGLUH TXL RQW pWp PRGLILpV HW
GHYURQWrWUHpFULWVVXUOHGLVTXH
P ODOLVWHGHVEORFV©SURSUHVªF
HVWjGLUHTXLQ
RQWSDVpWpPRGLILpV

• /H WDPSRQ GH MRXUQDOLVDWLRQ ORJ EXIIHU HQ DQJODLV  PpPRULVH OHV LQIRUPDWLRQV GH
MRXUQDOLVDWLRQDYDQWTX
HOOHVVRLHQWpFULWHVGDQVOHVILFKLHUVGHMRXUQDOLVDWLRQ

• /D]RQHGHPpPRLUHSDUWDJpH VKDUHGSRROHQDQJODLV HVWXWLOLVpHDILQGHPHWWUHHQ
FDFKHFHUWDLQHVVWUXFWXUHVTXLSHXYHQWrWUHSDUWDJpHVHQWUHOHVXWLOLVDWHXUV(OOHHVW
HOOHPrPHVRXVGLYLVpHHQGHX[FDFKHV
P /H /LEUDU\ &DFKH VWRFNH OHV LQIRUPDWLRQV VXU OHV RUGUHV 64/ H[pFXWpV
UpFHPPHQW
P /H 'LFWLRQDU\ FDFKH VWRFNH OHV LQIRUPDWLRQV j SURSRV GH OD GpILQLWLRQ
VWUXFWXUHSULYLOqJHVDVVRFLpVHWF GHVREMHWVUpFHPPHQWXWLOLVpV

• /D PpPRLUH ODUJH ODUJH SRRO HQ DQJODLV  HVW XQH ]RQH IDFXOWDWLYH XWLOLVpH GDQV OH
FDGUHGHVGHPDQGHVG
HQWUpHVVRUWLHVYROXPLQHXVHV

• /DPpPRLUHMDYD MDYDSRRO IDFXOWDWLYHHOOHDXVVLHVWXWLOLVpHSRXUVWRFNHUOHFRGH
MDYDXWLOLVpSDUODEDVHGHGRQQpHV

• /D]RQHGHPpPRLUHVWUHDPV VWUHDPVSRRO HVWXQH]RQHIDFXOWDWLYHXWLOLVpHSDUOH
FRPSRVDQW6WUHDPVTXLVHUWjpWDEOLUGHVpFKDQJHVHQWUHEDVHVGHGRQQpHV

/HVSURFHVVXVG
DUULqUHSODQ

$X GpPDUUDJH GH O
LQVWDQFH 2UDFOH XQ HQVHPEOH GH SURFHVVXV G
DUULqUHSODQ HVW FUpp ,OV
LQWHUDJLVVHQWHQWUHHX[HWDYHFOHV\VWqPHG
H[SORLWDWLRQDILQ
• 'HJpUHUOHV]RQHVPpPRLUHV
• '
HIIHFWXHUOHVRSpUDWLRQVDV\QFKURQHVG
pFULWXUHVXUOHGLVTXH
• '
HIIHFWXHUWRXWHVOHVRSpUDWLRQVGHJHVWLRQLQWHUQHGXVHUYHXUGHEDVHGHGRQQpHV

 


/H QRPEUH GH FHV SURFHVVXV G


DUULqUHSODQ GpSHQG j OD IRLV GHVIRQFWLRQQDOLWpV HW RSWLRQV
XWLOLVpHVHWGHODYHUVLRQGXV\VWqPHLQVWDOOp/HVSOXVLPSRUWDQWVVRQWOHVVXLYDQWV

• 6021 6\WHP 021LWRU  HVW FKDUJp GH SLORWHU OHV RSpUDWLRQV GH UpFXSpUDWLRQ
DSUqVSDQQH

• 3021 3URFHVV021LWRU HVWFKDUJpGHODJHVWLRQGHVGLIIpUHQWVSURFHVVXV

• &.37 &KHF.3RLQ7 JqUHOHVSRLQWVGHUHSULVHGHVILFKLHUVGHODEDVHGHGRQQpHV
HQKRURGDWDQWFHX[FL 

• '%:5 'DWD%DVH:ULWHU pFULWOHVGRQQpHVPRGLILpHVGXFDFKHGHVGRQQpHVYHUV
OHVILFKLHUVGHGRQQpHV4XDQGXQHHQWUpHGXFDFKHGHGRQQpHVHVWPRGLILpHHOOHHVW
PDUTXp ©VDOHª$XIXUHWjPHVXUHTXHGHVPRGLILFDWLRQVVRQWHIIHFWXpHVGDQVOD
EDVH GH GRQQpHV OH QRPEUH G¶HQWUpHV GLVSRQLEOHV GLPLQXH /H U{OH GX SURFHVVXV
'%:5HVWGHIDLUHHQVRUWHTXHOHVSURFHVVXVXWLOLVDWHXUVSHXYHQWWRXMRXUVWURXYHU
GHV HQWUpHV OLEUHV 3RXU FHOD LO SHXW rWUH DPHQp j pFULUH GHVGRQQpHV ©VDOHVª VXU
GLVTXHPrPHVLOHXUWUDQVDFWLRQQ¶DSDVHQFRUHpWpYDOLGpH&¶HVWODUDLVRQSRXU
ODTXHOOHHQJpQpUDOODYDOLGDWLRQG¶XQHWUDQVDFWLRQ FRPPLW HVWUDSLGHVRXV2UDFOH
OHV GRQQpHV VRQW SRXU OD SOXSDUW GpMj pFULWHV VXU GLVTXH  DORUV TXH O¶DQQXODWLRQ
UROOEDFN  SHXW rWUH SDUWLFXOLqUHPHQW ORQJXH SXLVTX¶LO IDXW GpIDLUH SK\VLTXHPHQW
GHVRSpUDWLRQVGpMjLQVFULWHVVXUGLVTXH 

• /*:5 /R* :ULWHU  pFULW OHV GRQQpHV GX WDPSRQ GH MRXUQDOLVDWLRQ YHUV OHV
ILFKLHUVGHMRXUQDOLVDWLRQ&HWWHpFULWXUHHVWGpFOHQFKpH
P $FKDTXHIRLVTX
XQHWUDQVDFWLRQHVWYDOLGpH FRPPLW 
P 7RXWHVOHVWURLVVHFRQGHV
P 'qV TXH OH WDPSRQ GH MRXUQDOLVDWLRQ HVW UHPSOL G
XQ WLHUV RX G
XQ PpJD
RFWHW

• $5& $5&KLYHU  DUFKLYH OHV ILFKLHUV GH MRXUQDOLVDWLRQ DYDQW TX
LOV QH VRLHQW
pFUDVpV

,,,/HVILFKLHUVGHODEDVHGHGRQQpHV


8QHEDVHGHGRQQpHV2UDFOHHVWFRQVWLWXpHSULQFLSDOHPHQWGHVILFKLHUVVXLYDQWV

• /HV ILFKLHUV GH FRQWU{OH DX SOXULHO FDU SDU VpFXULWp LOV VRQW TXDVLPHQW WRXMRXUV
UHGRQGDQWV  FRQWLHQQHQW OHV LQIRUPDWLRQV PpWDGRQQpHV  UHODWLYHV j OD VWUXFWXUH
SK\VLTXHGHODEDVHGHGRQQpHV HPSODFHPHQWHWpWDWGHVILFKLHUVGHGRQQpHVGHV
ILFKLHUVGHMRXUQDOLVDWLRQQRPGHODEDVHGHGRQQpHVHWF ,OVVRQWLQGLVSHQVDEOHV
SRXURXYULUODEDVHGHGRQQpHV

• /HV ILFKLHUV GH MRXUQDOLVDWLRQ HQ DQJODLV UHGR ORJ  VRQW XWLOLVpV DILQ G
HQUHJLVWUHU
O
HQVHPEOHGHVRSpUDWLRQVHIIHFWXpHV DXVHLQGHODEDVHGHGRQQpHV ,OVSHUPHWWHQW
G
DVVXUHUO
LQWpJULWpGHODEDVHGHGRQQpHVHQFDVGHGpIDLOODQFH SDQQHGHFRXUDQW
SHUWH G
XQ GLVTXH HWF  eWDQW GRQQpH OHXU LPSRUWDQFH LOV VRQW PXOWLSOH[pV HW
RUJDQLVpVHQJURXSHVFRPPHOHPRQWUHOHVFKpPDVXLYDQW

 





)LJXUH)RQFWLRQQHPHQWFLUFXODLUHGHVILFKLHUVGHMRXUQDOLVDWLRQ

/D EDVH GH GRQQpHV HVW REOLJDWRLUHPHQW FRQVWLWXpH G
DX PRLQV GHX[ JURXSHV GH
ILFKLHUVGHMRXUQDOLVDWLRQ
$X VHLQ G
XQ JURXSH OHV ILFKLHUV TXL OH FRPSRVHQW DSSHOpV PHPEUHV  VRQW
PXOWLSOH[pV/HSURFHVVXV/*:5 /RJ:ULWHU HVWFKDUJpGHFRSLHUOHVHQWUpHVGX
WDPSRQ GH MRXUQDOLVDWLRQ ORJ EXIIHU  YHUV OHV ILFKLHUV GH MRXUQDOLVDWLRQ 8QH IRLV
TX
XQJURXSHHVWUHPSOLOHV\VWqPHFRPPHQFHjpFULUHGDQVOHJURXSHVXLYDQWXQH
IRLV TXH WRXV OHV JURXSHV RQW pWp UHPSOLV RQ UHFRPPHQFH DX SUHPLHU ILFKLHU
IRQFWLRQQHPHQWFLUFXODLUH TXLHVWGRQFpFUDVp

6L O
RQ GpVLUH FRQVHUYHU OHV ILFKLHUV GH MRXUQDOLVDWLRQ DYDQW GH OHV pFUDVHU FH TXL
SHUPHWWUDSDUODVXLWHG
HIIHFWXHUGHVVDXYHJDUGHVjFKDXGPDLVDXVVLG
pYLWHUWRXWH
SHUWHGHGRQQpHHQFDVGHSUREOqPHJUDYHVXUODEDVH LOIDXWDFWLYHUO
DUFKLYDJHGHV
ILFKLHUV GH MRXUQDOLVDWLRQ DUFKLYDJH SULV HQ FKDUJH SDU OH SURFHVVXV $5&
$UFKLYHU RQSDUOHDORUVGHILFKLHUVGHMRXUQDOLVDWLRQDUFKLYpV

• /D EDVH GH GRQQpHV HVW GLYLVpH HQ FH TXL FRQFHUQH OHV GRQQpHV HQ XQLWpV GH
VWRFNDJHORJLTXHVDSSHOpHVWDEOHVSDFH&KDFXQG
HQWUHHX[HVWFRQVWLWXpG
DXPRLQV
XQILFKLHUGHGRQQpHVTXLVWRFNHSK\VLTXHPHQWOHVGRQQpHV

• 2XWUHOHVWDEOHVSDFHV©QRUPDX[ª GDQVOHVHQVRLOVVWRFNHQWGHVREMHWVGHODEDVH
WHOVTXHWDEOHVHWLQGH[HV RQGLVWLQJXHGHX[W\SHVSDUWLFXOLHUVGHWDEOHVSDFHV

P OHVWDEOHVSDFHVWHPSRUDLUHVVRQWXWLOLVpVDILQG
HIIHFWXHUVXUGLVTXHFHUWDLQHV
RSpUDWLRQV TXL QH SHXYHQW SDV rWUH UpDOLVpHV IDXWH G
HVSDFH VXIILVDQW HQ
PpPRLUH SDUH[HPSOHOHVWULV 


 

o le tablespace d'annulation (en anglais, undo tablespace) est utilisé pour
stocker les informations nécessaires à l'annulation des opérations effectuées
sur la base de données. Dès qu’une transaction modifie des données dans la
base, les anciennes valeurs sont stockées dans un segment d’annulation (lui-
même stocké dans le tablespace d’annulation). Les données d’annulation
sont utilisées par Oracle pour :
permettre de faire un retour arrière sur la transaction (rollback),
permettre de prendre en charge les lectures cohérentes des données.
Il s’agit de lecture par une session de données qui sont en cours de
mise à jour au sein d’une autre session,
permettre de réaliser des opérations de flashback (restauration de
données telles qu’elles étaient à un moment donné).

III.1.2.3 Les processus serveurs

A chaque fois qu'une connexion est établie avec le serveur de base de données (que ce soit
par l'intermédiaire d'une connexion directement via l'outil sqlplus ou via une application),
un processus serveur est créé afin d'exécuter les commandes envoyées par l'intermédiaire
de cette connexion.
A chaque processus ainsi créé est associée une zone mémoire qui lui est propre, la PGA
(Program Global Area). Elle contient les données propres à son processus, ainsi que
certaines zones utilisées pour des opérations spécifiques comme par exemple les opérations
de tri en mémoire.
Le schéma ci-dessous illustre ce fonctionnement :

Figure 10: Les processus serveurs

III.2 Traitement des requêtes et modélisation des attentes Oracle

Nous allons ici aborder la manière dont les requêtes sont traitées au sein du serveur de base
données, afin de mettre en avant les différents facteurs à l'origine des attentes qui peuvent
survenir sur une requête. Dans le cadre d'une application telle que AceTP, nous nous

30


ERUQHURQV DX[ RUGUHV GX /DQJDJH GH 0DQLSXODWLRQ GH 'RQQpHV 6(/(&7 83'$7(
'(/(7(,16(57 

,,, /HVDWWHQWHV2UDFOH

$YHF OD YHUVLRQ  GH VRQ V\VWqPH GH JHVWLRQ GH EDVHV GH GRQQpHV 2UDFOH D LQWURGXLW
©2UDFOH :DLW ,QWHUIDFHª ,QWHUIDFH GHV DWWHQWHV 2UDFOH  RXWLO LQWpJUp DX PRWHXU TXL
PHVXUH DXWRPDWLTXHPHQW DX VHLQ GH GLIIpUHQWHV YXHV OHV pYpQHPHQWV G¶DWWHQWH TXL VRQW
GpWHFWpV j GLYHUV QLYHDX[ &RPPH VRXYHQW O¶RXWLO V¶HVW DPpOLRUp DX ILO GHV YHUVLRQV
G¶2UDFOHSRXUGHYHQLUXQRXWLOWUqVSXLVVDQWG¶DQDO\VHGHVJRXOHWVG¶pWUDQJOHPHQWDXVHLQ
G¶XQHEDVHGHGRQQpHV

2UDFOHDUpSHUWRULpSUqVG
XQPLOOLHUG
pYpQHPHQWVG
DWWHQWHV FHQRPEUHpYROXDQWVHORQOHV
YHUVLRQV GX PRWHXU 2UDFOH  HQYLURQ  HQ 2UDFOH L  GDQV OD YHUVLRQ L  VRXV
2UDFOHJHQJ 

&HVpYpQHPHQWVG¶DWWHQWHRQWpWpGLYLVpVHQFODVVHV
• $GPLQLVWUDWLIDWWHQWHVUpVXOWDQWGHFRPPDQGHVGHPDLQWHQDQFHVXUOHVREMHWVGHOD
EDVH SDUH[HPSOHPRGLILFDWLRQGHODWDLOOHG¶XQH]RQHPpPRLUH 
• $SSOLFDWLIDWWHQWHVUpVXOWDQWGXFRGHDSSOLFDWLI SDUH[HPSOHXQYHUURXGpWHQXSDU
XQHDXWUHVHVVLRQ 
• &OXVWHUDWWHQWHVOLpHVjODFRQILJXUDWLRQHQPRGH5$& 5HDO$SSOLFDWLRQ&OXVWHU 
• &RQFXUUHQFHDWWHQWHVGHODOLEpUDWLRQGHUHVVRXUFHVLQWHUQHVjODEDVHGHGRQQpHV
• &RQILJXUDWLRQDWWHQWHVOLpHVjXQHFRQILJXUDWLRQLQDSSURSULpHG
XQHGHVUHVVRXUFHV
GHODEDVHGHGRQQpHVRXXQHLQVWDQFH FDFKHWURSSHWLWSDUH[HPSOH 
• (QWUpHVVRUWLHV6\VWqPHDWWHQWHVGHVHQWUpHVVRUWLHVDXQLYHDXG
XQSURFHVVXV
G
DUULqUHSODQGHO
LQVWDQFH
• (QWUpHVVRUWLHVXWLOLVDWHXUDWWHQWHVGHVHQWUpHVVRUWLHVDXQLYHDXG
XQSURFHVVXV
XWLOLVDWHXU
• ,GOHVHVVLRQLQDFWLYH
• 5pVHDXDWWHQWHVOLpHVDXUpVHDX
• 9DOLGDWLRQDWWHQWHOLpHjODYDOLGDWLRQGHODWUDQVDFWLRQ FRPPLW 'DQVFHFDVHQ
HIIHWOHVWDPSRQVGHMRXUQDOLVDWLRQVRQWpFULWVGDQVOHVILFKLHUVGHMRXUQDOLVDWLRQFH
TXLHQWUDLQHXQHDWWHQWH ORJILOHV\QFTXLHVWG
DLOOHXUVOHVHXOpYpQHPHQWG
DWWHQWH
GHFHWWHFODVVH 
• $XWUHWRXWHVOHVDWWHQWHVTXLQ
HQWUHQWSDVGDQVOHVDXWUHVFDVHV


,,, /HVPpFDQLVPHVGHYHUURXLOODJH


$YDQWGHSRXYRLUPRGLILHUXQHUHVVRXUFH SDUH[HPSOHXQHQVHPEOHGHOLJQHVG¶XQHWDEOH
RX XQH ]RQH PpPRLUH  GDQV XQ HQYLURQQHPHQW FRQoX SRXU rWUH PXOWLXWLOLVDWHXUV ± TXL
LPSOLTXHGRQFGHODFRQFXUUHQFHHQWUHWUDQVDFWLRQV±2UDFOHV¶DVVXUHWRXMRXUVTX¶LOHQDOD
SRVVLELOLWp3RXUFHODGHVPpFDQLVPHVGHYHUURXLOODJHVRQWPLVHQSODFHOHXUEXWHVWGH
SURWpJHUO¶DFFqVFRQFXUUHQWjGHVUHVVRXUFHVSDUWDJpHVDXVHLQGHODEDVHGHGRQQpHVRXGH
O¶LQVWDQFH
/HVPpFDQLVPHVGHYHUURXLOODJHVRQWGHGHX[W\SHV

 



• /HV YHUURXV H[FOXVLIV HPSrFKHQW OH SDUWDJH GH OD UHVVRXUFH 8QH WUDQVDFWLRQ TXL
SRVVqGH XQ WHO YHUURX VXU XQH UHVVRXUFH HVW OD VHXOH DXWRULVpH j PRGLILHU FHWWH
UHVVRXUFHWDQWTX¶HOOHSRVVqGHFHYHUURX

• /HVYHUURXVSDUWDJpVSHUPHWWHQWOHSDUWDJHGHODUHVVRXUFHPDLVHPSrFKHQWTX¶XQH
DXWUH WUDQVDFWLRQ DFTXLqUH XQ YHUURX H[FOXVLI 3OXVLHXUV WUDQVDFWLRQV SHXYHQW
DFTXpULUXQYHUURXSDUWDJpVXUXQHPrPHUHVVRXUFH

2QGLVWLQJXHGHX[PpFDQLVPHVGHYHUURXLOODJHDXQLYHDXGHODEDVHGHGRQQpHV2UDFOH OH
SUHPLHUG¶HQWUHHX[VHGLYLVDQWOXLPrPHHQGHX[VRXVW\SHV 

• /HVORFNV TX¶RQWUDGXLWOLWWpUDOHPHQWSDU©YHUURXVª TXLSHUPHWWHQWGHYHUURXLOOHU
OHVREMHWVGHODEDVHGHGRQQpHV SDUH[HPSOHOHVWDEOHVOHVSURFpGXUHVVWRFNpHV
HWF 

• /HVODWFKHV OLWWpUDOHPHQWORTXHWV HWYHUURXVLQWHUQHVTXLSHUPHWWHQWGHYHUURXLOOHU


OHV UHVVRXUFH LQWHUQHV GH O¶LQVWDQFH SDU H[HPSOH OHV ]RQHV PpPRLUH OHV ILFKLHUV
GHGRQQpHVHWF 

,,,/HVYHUURXV ORFNV 

,OV¶DJLWG¶XQV\VWqPHGHYHUURXLOODJHGpGLpDX[REMHWV WDEOHVSURFpGXUHVVWRFNpHVHWF GH


ODEDVHGHGRQQpHV /HV YHUURXVVRQW JpUpVSDUO¶LQWHUPpGLDLUHG¶XQHILOH G¶DWWHQWH$LQVL
ORUVTXHSOXVLHXUVWUDQVDFWLRQVFRQYRLWHQWXQHUHVVRXUFHO¶DFFqVjFHOOHFLHVWVHUYLVHORQOH
SULQFLSHGX©SUHPLHUDUULYpSUHPLHUVHUYLª
2QGLVWLQJXHGHX[JUDQGVW\SHVGHYHUURXVGDQVODEDVHGHGRQQpHV2UDFOH

/HVYHUURXV'0/
/HVYHUURXV'0/ 'DWD0DQLSXODWLRQ/DQJXDJHRX/DQJDJHGH0DQLSXODWLRQGH'RQQpHV 
VRQW XWLOLVpV DILQ GH V¶DVVXUHU TX¶XQH VHXOH WUDQVDFWLRQ PRGLILH XQH OLJQH j OD IRLV HW
TX¶DXFXQHDXWUHWUDQVDFWLRQQHVXSSULPHRXPRGLILHODWDEOHSHQGDQWTXHFHWWHPRGLILFDWLRQ
DOLHX,OHQH[LVWHGHX[

7;/RFNV 9HUURXVGHWUDQVDFWLRQ 
8Q WHO YHUURX HVW DFTXLV GqV TX¶XQH WUDQVDFWLRQ HVVDLH GH PRGLILHU XQH OLJQH HQ IDLW RQ
DFTXLHUW XQ YHUURX GH WUDQVDFWLRQ SRXU FKDTXH OLJQH TXL HVW PRGLILpH  /RUVTX¶XQH
WUDQVDFWLRQ DFTXLHUW XQ WHO YHUURX VXU XQH UHVVRXUFH FHOXLFL HVW FRQVHUYp GXUDQW WRXW OH
WHPSVGHYLHGHODWUDQVDFWLRQ$LQVLXQHIRLVTX¶XQHWUDQVDFWLRQVHWHUPLQH YDOLGDWLRQ±
FRPPLW ± RX DQQXODWLRQ ± UROOEDFN  WRXV OHV YHUURXV GH WUDQVDFWLRQ TX¶HOOH SRVVqGH VRQW
UHOkFKpV
/HVYHUURXVGHWUDQVDFWLRQVRQWGHVYHUURXVH[FOXVLIV

70/RFNV 9HUURXVGHWDEOH 
8QWHOYHUURXHVWXWLOLVpDILQGHV¶DVVXUHUTXH
• OD VWUXFWXUH GH OD WDEOH Q¶HVW SDV PRGLILpH SHQGDQW TXH GHV GRQQpHV GH FHWWH WDEOH
VRQWPRGLILpHVVXSSULPpHVRXLQVpUpHV

• ODWDEOHQ¶HVWSDVVXSSULPpHSHQGDQWTXHGHVGRQQpHVGHFHWWHWDEOHVRQWPRGLILpHV
VXSSULPpHVRXLQVpUpHV
 



8Q YHUURX GH WDEOH SHXW rWUH DFTXLV SDU XQH WUDQVDFWLRQ VHORQ GLIIpUHQWV PRGHV TXL VRQW
UpVXPpVGDQVOHWDEOHDXVXLYDQW

2UGUH64/ 9HUURXGHWDEOH 9HUURX GH
WUDQVDFWLRQ"
6(/(&7 )520WDEOH $XFXQ 1RQ
,16(57,172WDEOH 5RZH[FOXVLYH 5;  2XL
83'$7(WDEOH 5RZH[FOXVLYH 5;  2XL
'(/(7()520WDEOH 5RZH[FOXVLYH 5;  2XL
6(/(&7)520WDEOHIRU83'$7( 5RZH[FOXVLYH 5;  2XL
/2&. 7$%/( WDEOH ,1 52: 6+$5( 5RZVKDUH 56  1RQ
02'(
/2&. 7$%/( WDEOH ,1 52: (;&/86,9( 5RZH[FOXVLYH 5;  1RQ
02'(
/2&.7$%/(WDEOH,16+$5(02'( 6KDUH 6  1RQ
/2&. 7$%/( WDEOH ,1 6+$5( 52: 6KDUH 5RZ ([FOXVLYH 1RQ
(;&/86,9(02'( 65; 
/2&.7$%/(WDEOH,1(;&/86,9(02'( ([FOXVLYH ;  1RQ

7DEOHDXOHVGLIIpUHQWVPRGHVGHYHUURXLOODJH

• 5RZ VKDUH FH YHUURX LQGLTXH TXH OD WUDQVDFWLRQ TXL D DFTXLV FH YHUURX HVW VXU OH
SRLQWGHPRGLILHUGHVGRQQpHVGDQVODWDEOH,OV¶DJLWGXPRGHOHPRLQVUHVWULFWLILO
HPSrFKHVLPSOHPHQWWRXWHDXWUHWUDQVDFWLRQGHPRGLILHUODVWUXFWXUHGHODWDEOHRX
GHODVXSSULPHU

• 5RZH[FOXVLYHFHYHUURXLQGLTXHTXHODWUDQVDFWLRQDLQVpUpPRGLILpRXVXSSULPp
GHVGRQQpHVGDQVODWDEOH&HPRGHHVWOpJqUHPHQWSOXVUHVWULFWLITXHOHSUpFpGHQW
GDQV OD PHVXUH R LO LQWHUGLW pJDOHPHQW DX[ DXWUHV WUDQVDFWLRQV GH YHUURXLOOHU OD
WDEOH

• 6KDUHFHYHUURXLQWHUGLWDX[DXWUHVWUDQVDFWLRQVGHPRGLILHUODVWUXFWXUHGHODWDEOH
GHODVXSSULPHUPDLVDXVVLG¶LQVpUHUPRGLILHURXVXSSULPHUGHVGRQQpHVGDQVOD
WDEOH,OQHSHXWrWUHDFTXLVTX¶H[SOLFLWHPHQWSDUXQRUGUH/2&.7$%/(WDEOH,1
6+$5(02'(&HYHUURXDXWRULVHXQHDXWUHWUDQVDFWLRQG¶DFTXpULUXQYHUURXGH
W\SH 52: 6+$5( PDLV Q¶DXWRULVH SDV OD PRGLILFDWLRQ HIIHFWLYH GHV GRQQpHV
1RWRQVTXHSOXVLHXUVWUDQVDFWLRQVSHXYHQWDFTXpULUFHYHUURXVXUXQHWDEOHGDQVOH
FDV R SOXVLHXUV WUDQVDFWLRQV RQW DFTXLV FH YHUURX VXU OD PrPH WDEOH DXFXQH
WUDQVDFWLRQQHSHXWLQVpUHUPRGLILHURXVXSSULPHUGHVGRQQpHVGDQVODWDEOH

• 6KDUH5RZ([FOXVLYHLOHVWLGHQWLTXHDXSUpFpGHQWPDLVQHSHXWrWUHDFTXLVTXH
SDUXQHVHXOHWUDQVDFWLRQjODIRLV

• ([FOXVLYH LO V¶DJLW GX PRGH OH SOXV UHVWULFWLI (Q HIIHW j OD GLIIpUHQFH GX PRGH
6KDUH5RZ([FOXVLYHLOQ¶DXWRULVHSDVDX[DXWUHVWUDQVDFWLRQVG¶DFTXpULUXQYHUURX
GHW\SH5RZ6KDUH




 



/HVYHUURXV''/
/HVYHUURXV''/ 'DWD'HILQLWLRQ/DQJXDJHRX/DQJDJHGH'pILQLWLRQGHV'RQQpHV VRQW
DFTXLVDXWRPDWLTXHPHQWVXUXQREMHWGqVORUVTX¶XQHWUDQVDFWLRQHIIHFWXHXQHPRGLILFDWLRQ
GHVWUXFWXUHVXUFHWREMHWGDQVOHEXWG¶pYLWHUOHXUPRGLILFDWLRQSDUG¶DXWUHVWUDQVDFWLRQV
,OVVRQWUHOkFKpVGqVTXHODPRGLILFDWLRQDpWpUpDOLVpH

,,,/HVODWFKHV

/HV ODWFKHV VRQW GHV GLVSRVLWLIV GH YHUURXLOODJH XWLOLVpV SRXU FRRUGRQQHU O
DFFqV j GHV
UHVVRXUFHVLQWHUQHVGHO¶LQVWDQFH ]RQHVPpPRLUHGHOD6*$QRWDPPHQW $LQVLGqVTX¶XQ
SURFHVVXV GRLW XWLOLVHU XQH ]RQH PpPRLUH GH OD 6*$ TXL HVW XQH PpPRLUH SDUWDJpH DX
FRQWUDLUHGHOD3*$ LOGRLWDFTXpULUXQODWFKVXUFHWWHVWUXFWXUH
$X FRQWUDLUH GHV YHUURXV OHV ODWFKHV QH IRQFWLRQQHQW SDV SDU O¶LQWHUPpGLDLUH G¶XQH ILOH
G¶DWWHQWH6LXQHVHVVLRQGHPDQGHO¶DFTXLVLWLRQG¶XQODWFKVXUXQHUHVVRXUFH

• VRLWFHODWFKHVWGLVSRQLEOHDXTXHOFDVLOHVWLPPpGLDWHPHQWDOORXpjFHWWHVHVVLRQ

• VRLWLOQ¶HVWSDVGLVSRQLEOHGDQVFHFDVODVHVVLRQVHPHWWUDHQVRPPHLOSHQGDQWXQ
FRXUWODSVGHWHPSVHWUpHVVDLHUDO
RSpUDWLRQXOWpULHXUHPHQW FHTXLLPSOLTXHTXHOHV
ODWFKHVVRQWH[FOXVLIV 

,,, /HFDVJpQpUDO

 

Figure 11: Traitement d'une requête - cas général

35


/
RUGUH64/VDLVLSDUXQXWLOLVDWHXUODQFpSDUXQWUDLWHPHQWDXWRPDWLVpRXJpQpUpVXLWHj
O
DFWLRQG
XQXWLOLVDWHXUVXUXQHLQWHUIDFHKRPPHPDFKLQH ,+0 HVWHQYR\pYLDOHUpVHDX
YHUVODEDVHGHGRQQpHV SDUO
LQWHUPpGLDLUHG
XQSURFHVVXVVHUYHXUGpGLp &HWRUGUHYDrWUH
DQDO\Vp DYDQW G
rWUH H[pFXWp 6L O
DQDO\VH UHPRQWH XQ SUREOqPH XQ PHVVDJH G
HUUHXU HVW
HQYR\pDXFOLHQW
8QH IRLV O
RUGUH H[pFXWp XQ PHVVDJH HVW HQYR\p DX FOLHQW ,O SHXW V
DJLU GHV OLJQHV
GHPDQGpHV GDQV OH FDV G¶XQH VpOHFWLRQ GH GRQQpHV  G
XQ DFTXLWWHPHQW GH OD ERQQH
H[pFXWLRQGHO
RUGUHRXELHQHQFRUHXQPHVVDJHG
HUUHXUVLO
H[pFXWLRQGHODUHTXrWHQHV
HVW
SDVGpURXOpHFRUUHFWHPHQW

/DSUHPLqUHDWWHQWHSRWHQWLHOOHTXHQRXVSRXYRQVLGHQWLILHULFLFRQFHUQHOHUpVHDX(QHIIHW
OD UHTXrWH GX FOLHQW HW OD UpSRQVH GX VHUYHXU 2UDFOH YRQW WUDQVLWHU SDU OH UpVHDX 3DU
FRQVpTXHQWXQUpVHDXSHXSHUIRUPDQWRXPDOFRQILJXUpSHXWDYRLUGHVFRQVpTXHQFHVVXUOH
WHPSVG
DWWHQWHGHO
XWLOLVDWHXU

,,,/
DQDO\VHGHODUHTXrWH


$YDQW G
H[pFXWHU OD UHTXrWH TXL OXL HVW VRXPLVH OH VHUYHXU 2UDFOH GRLW YpULILHU TXH FHWWH
UHTXrWHHVWFRUUHFWHG
XQSRLQWGHYXHV\QWD[LTXHPDLVDXVVLTXHO
XWLOLVDWHXUTXLO
H[pFXWH
HVW ELHQ KDELOLWp j OH IDLUH HW TXH OHV REMHWV WDEOHV YXHV HWF  TX
HOOH UpIpUHQFH H[LVWHQW
ELHQ

&HWWHDQDO\VHVHGpURXOHHQWURLVpWDSHV

• 'DQVXQSUHPLHUWHPSVO
DQDO\VHV\QWD[LTXHYDYpULILHUODYDOLGLWpGHODUHTXrWHSDU
UDSSRUWjODQRUPH64/

• 3XLVO
DQDO\VHVpPDQWLTXHYDYpULILHU
P TXHOHVREMHWV WDEOHVYXHVHWF DX[TXHOVDFFqGHODUHTXrWHH[LVWHQWELHQ
P HWTXHO
XWLOLVDWHXUSRVVqGHOHVGURLWVQpFHVVDLUHVVXUFHVREMHWV

• (QILQODEDVHGHGRQQpHVYDUHFKHUFKHUO
RUGUH64/GDQVVRQFDFKHGHUHTXrWHVOH
OLEUDU\ FDFKH 3RXU FHOD 2UDFOH XWLOLVH XQ DOJRULWKPH GH KDVKDJH TXL YD OXL
SHUPHWWUHGHJpQpUHUXQLGHQWLILDQW64/TXLHVWXQLTXHSRXUFKDTXHUHTXrWH6LOD
UHTXrWH HVW WURXYpH GDQV OH FDFKH DYHF XQ HQYLURQQHPHQW GH VHVVLRQ LGHQWLTXH OD
EDVH GH GRQQpHV Q
DXUD SDV EHVRLQ GH UpDOLVHU O
pWDSH VXLYDQWH GDQV OD FKDvQH GX
WUDLWHPHQW j VDYRLU O
XWLOLVDWLRQ GH O
RSWLPLVHXU V\QWD[LTXH DILQ GH FKHUFKHU OH
PHLOOHXUSODQG
H[pFXWLRQ


1RWRQVTXHODPrPHUHTXrWHH[pFXWpHVXUGHX[EDVHVGHGRQQpHV2UDFOHGLIIpUHQWHV PrPH
VLHOOHVQHVRQWSDVGDQVODPrPHYHUVLRQ VHYHUUDDWWULEXHUOHPrPHLGHQWLILDQW64/

/RUVTXH OD UHFKHUFKH GDQV OH OLEUDU\ FDFKH HVW IUXFWXHXVH RQ GLW TX
2UDFOH D HIIHFWXp XQ
VRIW SDUVLQJ TXH O
RQ SRXUUDLW WUDGXLUH SDU ©DQDO\VH LQFRPSOqWHª  GDQV OH FDV FRQWUDLUH
RQSDUOHGHKDUGSDUVLQJ ©DQDO\VHFRPSOqWHª eWDQWGRQQpTX
RQV
DIIUDQFKLWG
XQHpWDSH
LOHVWSUpIpUDEOHG¶HIIHFWXHUOHSOXVGHVRIWSDUVLQJSRVVLEOH


 

III.2.3.2 L'optimiseur statistique et le « row source generator »

Dès qu'une requête SQL est soumise pour la première fois au serveur de base de données
Oracle, un programme nommé l'optimiseur statistique est exécuté afin de déterminer le
meilleur plan d'exécution pour cette requête. Nous pouvons définir un plan d'exécution
comme une manière parmi d'autres d'obtenir le résultat désiré.
Par exemple, considérons la table suivante :

Nous avons défini un index sur cette table :


IDX_EMPLOYES_NOM qui porte sur la colonne « nom ».

Pour la requête suivante :


SELECT * FROM EMPLOYES WHERE NOM = 'LEFEVRE' ;
Il existe plusieurs plans d'exécution possibles :

Le premier utilisera l'index :

--------------------------------------------------------
| Id | Operation | Name |
--------------------------------------------------------
| 0 | SELECT STATEMENT | |
| 1 | TABLE ACCESS BY INDEX ROWID| EMPLOYES |
| 2 | INDEX RANGE SCAN | IDX_EMPLOYES_NOM |
--------------------------------------------------------

Le deuxième parcourra la table dans son intégralité :

--------------------------------------
| Id | Operation | Name |
--------------------------------------
| 0 | SELECT STATEMENT | |
| 1 | TABLE ACCESS FULL| EMPLOYES |
--------------------------------------

Le rôle de l'optimiseur est de définir l'ensemble des plans d'exécution possibles puis de
sélectionner celui susceptible d'obtenir un temps de réponse optimal. A cet effet, il va
assigner un coût à chaque étape des plans d'exécution ; au final, c'est le plan avec le coût
le plus bas qui sera retenu.

Afin d'assigner un coût à chacune des étapes des plans d'exécution potentiels, l'optimiseur
va se baser sur les statistiques dont il dispose à propos des objets (tables, indexes,
contraintes, etc.) de la base de données (c'est pourquoi on parle d'optimiseur statistique).
Ces statistiques, stockées elle-même dans des tables du dictionnaire de données (le
dictionnaire des données étant un ensemble de tables du système contenant toutes les
informations concernant la structure de la base de données), représentent la distribution des
données dans les tables et indexes, ainsi que :
37


• 9ROXPpWULHGHVWDEOHV
• 'LVWULEXWLRQGHVYDOHXUVDXVHLQGHVFRORQQHV
• 2UJDQLVDWLRQGHVLQGH[HV
• HWF


6L QRXV UHSUHQRQV O
H[HPSOH FLGHVVXV GH OD WDEOH (03/2<(6 LPDJLQRQV OD UpSDUWLWLRQ
VXLYDQWHGHVGRQQpHV
• 1RPEUHGHOLJQHVGDQVODWDEOHPLOOLRQ
• GHFHVOLJQHVFRQFHUQHQWOHQRPµ/()(95(¶
• 3RXUOHVOLJQHVUHVWDQWHVQRXVDYRQVYDOHXUVGLVWLQFWHVSRXUOHQRP

/HVFULSW3/64/FLGHVVRXVSHUPHWGHPHWWUHHQSODFHFHWWHUpSDUWLWLRQ

GHOHWHIURP(03/2<(6

GHFODUH
OBQRPYDUFKDU  
OBSUHQRPYDUFKDU  
EHJLQ
IRULLQ
ORRS
OBQRP 
8VHU
__L
OBSUHQRP 
3UHQRP
__L
LIL WKHQ
OBQRP 
/()(95(

HQGLI
LQVHUWLQWR(03/2<(6YDOXHV LOBQRPOBSUHQRPQXOO 
HQGORRS
HQG



/H SODQ G¶H[pFXWLRQ FDOFXOp SDU O¶RSWLPLVHXU VHUD GLIIqUHQW SRXU OHV GHX[ UHTXrWHV
VXLYDQWHV

• 5HTXrWHVHOHFW IURP(03/2<(6ZKHUHQRP
/()(95(


/HSODQG¶H[pFXWLRQHVWOHVXLYDQW




)LJXUHSUHPLHUSODQG
H[pFXWLRQ
 
• 5HTXrWHVHOHFW IURP(03/2<(6ZKHUHQRP
8VHU



 



/HSODQHVWDORUVOHVXLYDQW




)LJXUHGHX[LqPHSODQG
H[pFXWLRQ


/
RSWLPLVHXU D DLQVL pWp FDSDEOH GH VH UHQGUH FRPSWH TXH OD YDOHXU ©/()(95(ª
UHSUpVHQWH  GHV OLJQHV GH OD WDEOH HW TXH SDU FRQVpTXHQW XQ SDUFRXUV FRPSOHW GH OD
WDEOHVHUDLWSOXVSHUWLQHQWTXHOHUHFRXUVjO
LQGH[$FRQWUDULRSRXUODYDOHXU ©8VHUª
SUpVHQWHXQHVHXOHIRLVGDQVODWDEOHLODpWDEOLTXHOHUHFRXUVjO
LQGH[VHUDLWSOXVUDSLGH

$O¶LVVXHGHO¶H[pFXWLRQGHO¶RSWLPLVHXUVWDWLVWLTXHXQSODQRSWLPDOHVWGRQFGpILQL&HOXL
FLHVWHQYR\pjXQDXWUHSURJUDPPHOH©URZVRXUFHJHQHUDWRUªTXLYDWUDGXLUHFHSODQHQ
XQ HQVHPEOH G¶pWDSHV &KDFXQH GH FHV pWDSHV UHWRXUQH XQ HQVHPEOH GH OLJQHV TXL VHUD
GRQQp HQ HQWUpH GH O¶pWDSH VXLYDQWH FH SURFHVVXV LWpUDWLI SHUPHWWDQW LQ ILQH G¶REWHQLU OH
UpVXOWDWGHODUHTXrWH


,,, /DVpOHFWLRQGHVGRQQpHV


/RUVTXH O¶H[pFXWLRQ G¶XQ RUGUH GH VpOHFWLRQ D OLHX DSUqV DYRLU LGHQWLILp OHV GRQQpHV j
UHPRQWHU 2UDFOH FRQVXOWH GDQV XQ SUHPLHU WHPSV VRQ FDFKH GHV GRQQpHV HW YpULILH VL OHV
GRQQpHVV¶\WURXYHQWGpMj,OH[LVWHDORUVWURLVVROXWLRQV

• /HVGRQQpHVVRQWSUpVHQWHVHQFDFKHHWQ¶RQWSDVpWpPRGLILpHVDXTXHOFDV2UDFOH
SHXWUHWRXUQHUOHVGRQQpHVGXFDFKHVDQVIDLUHG¶DFFqVGLVTXH

• /HV GRQQpHV VRQW SUpVHQWHV HQ FDFKH PDLV RQW pWp PRGLILpHV GDQV FH FDV LO HVW
QpFHVVDLUHG¶DFFpGHUDX[GRQQpHVG¶DQQXODWLRQ GDQVOHWDEOHVSDFHG¶DQQXODWLRQ 

• /HVGRQQpHVQHVRQWSDVSUpVHQWHVHQFDFKHGDQVFHFDVLOHVWQpFHVVDLUHG¶DFFpGHU
DX[GRQQpHVVXUGLVTXH(QPrPHWHPSVFHVGRQQpHVVRQWSODFpHVGDQVOHFDFKH

/D FRQILJXUDWLRQ SK\VLTXH GHV ILFKLHUV GH GRQQpHV HVW WHOOH TXH GHV GRQQpHV GH SOXVLHXUV
OLJQHV G¶XQH PrPH WDEOH VRQW VRXYHQW FRQWLJXsV VXU GLVTXH $X PRPHQW G¶DOOHU FKHUFKHU
OHVGRQQpHVVXUGLVTXHHWGHOHVPHWWUHHQFDFKHOHSURJUDPPHUpFXSqUH XQHQVHPEOHGH
OLJQHV SOXV ODUJH TXH FH GRQW LO D UpHOOHPHQW EHVRLQ DILQ GH PHWWUH SOXV GH GRQQpHV HQ
FDFKHSRXUOHVSURFKDLQHVXWLOLVDWLRQV

&RPPHQRXVO¶DYRQVYXSUpFpGHPPHQWDILQG¶REWHQLUOHVGRQQpHVjUHWRXUQHUDXFRXUVGH
OD UHTXrWH GH VpOHFWLRQ XQ HQVHPEOH G¶pWDSHV GpILQLHV DX QLYHDX GH O¶RSWLPLVHXU
VWDWLVWLTXHV YRQW rWUH H[pFXWpHV /H VFKpPD FLGHVVRXV LOOXVWUH OH IRQFWLRQQHPHQW G¶XQ
RUGUHGHVpOHFWLRQ 6(/(&7 SRXUXQHGHFHVpWDSHV



 





)LJXUHIRQFWLRQQHPHQWGHODVpOHFWLRQGHVGRQQpHV

/HVDWWHQWHVTXLSHXYHQWVXUYHQLUGDQVFHSURFHVVXVGHVpOHFWLRQVRQWGRQF
• /HV DWWHQWHV VXU OHV OHFWXUHV GH GLVTXH ILFKLHUV GH GRQQpHV WDEOHVSDFH
G¶DQQXODWLRQ 
• /HV DWWHQWHV OLpHV DX FDFKH GH GRQQpHV HW j O¶DFTXLVLWLRQ G¶XQ ODWFK SRXU SRXYRLU
pFULUH GDQV FH FDFKH&HV DWWHQWHV RQW OLHX ORUVTXH OH FDFKH HVW WURS SHWLW SRXU
VXSSRUWHUO¶HQVHPEOHGHVWUDQVDFWLRQVTXLPRGLILHQWGHVGRQQpHV'DQVFHFDVG¶XQ
FDFKHPDOGLPHQVLRQQpOHVDFFqVGLVTXHVVHURQWSOXVIUpTXHQWVSRXUODSOXSDUWGHV
WUDQVDFWLRQVFDUPRLQVGHGRQQpHVVHURQWUHWURXYpHVHQFDFKH


,,, /¶LQVHUWLRQGHGRQQpHV


/RUVTXHO¶XWLOLVDWHXULQVqUHGHVGRQQpHVODEDVHGHGRQQpHVRSqUHOHVRSpUDWLRQVVXLYDQWHV

 2EWHQWLRQGHVYHUURXVVXUODWDEOHPRGLILpH
 /HVGRQQpHVG¶DQQXODWLRQFRUUHVSRQGDQWDX[GRQQpHVGHMRXUQDOLVDWLRQVRQWpFULWHV
GDQV OH WDEOHVSDFH G¶DQQXODWLRQ 3RXU FHOD HOOHV VRQW pFULWHV GDQV OH FDFKH GH
GRQQpHVDYDQWG¶rWUHpFULWHVVXUOHGLVTXH
 2UDFOHFUpHOHVGRQQpHVGHMRXUQDOLVDWLRQOHWDPSRQGHMRXUQDOLVDWLRQ QpFHVVLWHXQ
ODWFK 
 &UpDWLRQ GHV HQWUpHV FRUUHVSRQGDQWHV GDQV OH WDEOHVSDFH G¶DQQXODWLRQ PrPH VL
HOOHVVRQWSHXYROXPLQHXVHVXQHLQVHUWLRQJpQqUHHQHIIHWEHOHWELHQGHVGRQQpHV
G¶DQQXODWLRQ 
 &UpDWLRQGHVGRQQpHVGDQVOHFDFKHGHVGRQQpHV QpFHVVLWHXQODWFK 



 



$ILQGHSRXYRLUUpDOLVHUO¶LQVHUWLRQODWUDQVDFWLRQYDHVVD\HUG¶REWHQLUOHVYHUURXVVXLYDQWV
VXUODWDEOH
• 8QYHUURXSDUWDJpVXUO¶HQVHPEOHGHODWDEOH TXLpYLWHUDTX¶XQHDXWUHWUDQVDFWLRQ
QHPRGLILHODVWUXFWXUHGHODWDEOHRXQHODVXSSULPHSHQGDQWTXHO¶LQVHUWLRQHVWHQ
FRXUV 
• 8Q YHUURX H[FOXVLI VXU OD OLJQH HQ FRXUV G¶LQVHUWLRQ TXL pYLWHUD TX¶XQH DXWUH
WUDQVDFWLRQ Q¶LQVqUH GHV GRQQpHV DYHF OHV PrPHV FOpV SULPDLUHV HWRX FRQWUDLQWHV
G¶XQLFLWp 

,O H[LVWH XQ FDV R O¶LQVHUWLRQ SHXW HQWUDLQHU GHV DWWHQWHV OLpHV j GH OD FRQFXUUHQFH HQWUH
WUDQVDFWLRQV ORUVTX¶LO H[LVWH XQH FOp SULPDLUH RX FRQWUDLQWH G¶XQLFLWp  VL XQH DXWUH
WUDQVDFWLRQ GpPDUUpH DYDQW FHOOH TXL HVW pWXGLpH  D FRPPHQFp j pFULUH DYHF OHV PrPHV
YDOHXUVXQLTXHVPDLVQ¶DSDVHQFRUHpWpYDOLGpHRXDEDQGRQQpHDORUVODUHTXrWHG¶LQVHUWLRQ
YDDWWHQGUHODILQGHODWUDQVDFWLRQFRQFXUUHQWH





)LJXUHIRQFWLRQQHPHQWG
XQHLQVHUWLRQ

(QGHKRUV GH FH FDV OHV SULQFLSDOHV DWWHQWHV TXH QRXV SRXYRQV UHQFRQWUHU VRQW OHV
VXLYDQWHV
• 8QFDFKHGHGRQQpHVWURSSHWLWHQWUDLQHUDXQHDWWHQWHSRXUO¶DFTXLVLWLRQG¶XQODWFK
VXUFHFDFKH
 



• 'H PrPH XQ FDFKH GH MRXUQDOLVDWLRQ ORJ EXIIHU  WURS SHWLW HQWUDLQHUD XQH DWWHQWH
SRXUXQODWFK
• /H FDFKH GH MRXUQDOLVDWLRQ HVW YLGp UpJXOLqUHPHQW VXU GLVTXH 'DQV FH FDV XQH
DWWHQWH VXU OD ILQ GH FH YLGDJH D OLHX QRXV VRPPHV GRQF VHQVLEOHV DX[
SHUIRUPDQFHVGHVGLVTXHVFRQWHQDQWOHVILFKLHUVGHMRXUQDOLVDWLRQ

&RPPH QRXV O¶DYRQV YX SUpFpGHPPHQW OHV GRQQpHV SHXYHQW WUqV ELHQ rWUH pFULWHV VXU
GLVTXH DXVVL ELHQ GDQV OHV ILFKLHUV GH MRXUQDOLVDWLRQ TXH GDQV OHV ILFKLHUV GH GRQQpHV 
DYDQWPrPHTXHODWUDQVDFWLRQQHVRLWYDOLGpH FRPPLW RXDQQXOpH UROOEDFN 


,,, /DPRGLILFDWLRQHWODVXSSUHVVLRQGHGRQQpHV


/DVXSSUHVVLRQHVWLGHQWLTXHjODPRGLILFDWLRQGDQVODPHVXUHROHVGRQQpHVQHVRQWSDV
UpHOOHPHQWVXSSULPpHVPDLVPDUTXpHVFRPPHpWDQWVXSSULPpHV

/HIRQFWLRQQHPHQWHVWOHVXLYDQW
 /HV\VWqPHGpWHUPLQHVLOHVGRQQpHVjPRGLILHUVRQWGDQVOHFDFKHGHGRQQpHVRX
QRQ
6LOHVGRQQpHVQHVRQWSDVHQFDFKH
 /HVGRQQpHVVRQWOXHVVXUOHGLVTXH
 &HVGRQQpHVVRQWUHFRSLpHVGDQVOHFDFKHGHGRQQpHVFHTXLQpFHVVLWHO¶REWHQWLRQ
G¶XQODWFK
4XHOHVGRQQpHVVRLHQWHQFDFKHRXQRQ
 /DWUDQVDFWLRQGRLWDFTXpULUOHVYHUURXVQpFHVVDLUHV
 /HVPRGLILFDWLRQVVRQWpFULWHVGDQVOHFDFKHGHMRXUQDOLVDWLRQ QpFHVVLWHXQODWFKVXU
FHFDFKH 
 3XLV OHV GRQQpHV G¶DQQXODWLRQ VRQW pFULWHV GDQV OH WDEOHVSDFH G¶DQQXODWLRQ 3RXU
FHODHOOHVVRQWpFULWHVGDQVOHFDFKHGHGRQQpHVDYDQWG¶rWUHpFULWHVVXUOHGLVTXH
 (QILQOHVGRQQpHVVRQWPRGLILpHVGDQVOHFDFKHGHGRQQpHV

/HV pFULWXUHV SK\VLTXHV GDQV OHV ILFKLHUV GH MRXUQDOLVDWLRQ HW OHV ILFKLHUV GH GRQQpHV
SHXYHQWrWUHUpDOLVpHVjWRXWPRPHQW

/HVYHUURXVTXHODWUDQVDFWLRQGRLWREWHQLUVXUODWDEOHVRQWOHVPrPHVTXHFHX[UHQFRQWUpV
DXFRXUVGHO¶LQVHUWLRQ
• 8QYHUURXSDUWDJpVXUO¶HQVHPEOHGHODWDEOH TXLpYLWHUDTX¶XQHDXWUHWUDQVDFWLRQ
QHPRGLILHODVWUXFWXUHGHODWDEOHRXQHODVXSSULPHSHQGDQWTXHO¶LQVHUWLRQHVWHQ
FRXUV 
• 8QYHUURXH[FOXVLIVXUFKDTXHOLJQHHQFRXUVGHPRGLILFDWLRQ

/HVDWWHQWHVTXHQRXVSRXYRQVLGHQWLILHULFLVRQWGRQF
• &HOOHV OLpHV j OD FRQFXUUHQFH HQWUH WUDQVDFWLRQV YHUURX GpMj GpWHQX SDU XQH DXWUH
WUDQVDFWLRQ 
• &HOOHVOLpHVjXQFDFKHGHGRQQpHVWURSSHWLW REWHQWLRQG¶XQODWFK 
• &HOOHVOLpHVDX[DFFqVGLVTXHV


 

Figure 16: fonctionnement d'une modification (ou suppression)

III.3 Présentation du référentiel AWR

Afin de permettre aux administrateurs de bases de données de diagnostiquer efficacement


les problèmes de performances, la base de données Oracle génère diverses statistiques
cumulatives relatives au système, aux sessions, ainsi qu’aux ordres SQL. Ces valeurs
cumulatives sont disponibles par l’intermédiaire de vues dynamiques. Toutefois, ces vues
sont volatiles, c’est-à-dire que leur contenu est perdu au redémarrage de l’instance.

C’est pourquoi, depuis la version 10g d’Oracle est apparu le référentiel AWR (Active
Workload Repository), dont le but est de persister un ensemble de statistiques relatives à
l’activité de la base de données. Il est ainsi possible de générer des rapports (Oracle
fournissant les scripts ad-hoc) afin d’étudier le comportement de la base de données sur
une période, et de résoudre les problèmes de performances (un exemple de rapport AWR
est présenté en annexe). D’autres fonctionnalités d'Oracle (les conseillers - advisors en
anglais - par exemple) se basent sur le référentiel AWR qui occupe par conséquent un rôle
central pour tout ce qui concerne l’analyse et la surveillance des performances des bases de
données Oracle.

Lorsqu’une base de données Oracle est créée, AWR est automatiquement installé et activé.
La collecte de statistiques est automatisée, et les statistiques recueillies par AWR sont
stockées dans la base de données.

Le schéma suivant illustre le fonctionnement d’AWR :

43




)LJXUHOHIRQFWLRQQHPHQWG
$:5


8Q FHUWDLQ QRPEUH GH PpWULTXHV HVW PpPRULVp DX VHLQ GH OD 6*$ GH O¶LQVWDQFH $
LQWHUYDOOHVUpJXOLHUV RXORUVTXHXQDGPLQLVWUDWHXUGHEDVHVGHGRQQpHVGpFLGHGHOHIDLUH 
OHSURFHVVXVG¶DUUULqUHSODQ0021 0DQDJHDELOLW\021LWRU GpFOHQFKHODVDXYHJDUGHGH
FHVPpWULTXHVGDQVODEDVHGHGRQQpHV2QDSSHOOHODVDXYHJDUGHHQEDVHGHVPpWULTXHVXQ
FOLFKp HQDQJODLVVQDSVKRW 

$:5FROOHFWHXQODUJHVSHFWUHGHPpWULTXHVFRPPHSDUH[HPSOH
• OHVpYpQHPHQWVG
DWWHQWH
• OHVSHUIRUPDQFHVGHVGLIIpUHQWVWDPSRQVFRQVWLWXDQWOD6*$
• OHVVWDWLVWLTXHVVXUOHVUHVVRXUFHV GLVTXHV&38HWF 
• O¶KLVWRULTXHGHVVHVVLRQVDFWLYHV
• OHVVWDWLVWLTXHVV\VWqPHVHWGHVHVVLRQ
• OHVLQVWUXFWLRQV64/JRXUPDQGHVHQUHVVRXUFHV

,OH[LVWHWURLVW\SHVGHWDEOHV$:5TXHO¶RQSHXWGLIIpUHQFLHUSDUOHXUQRPPDJH

• FHOOHV GRQW OH QRP FRPPHQFH SDU :50 FRUUHVSRQGHQW j GHV PpWDGRQQpHV TXL
SHUPHWWURQWGHGpFULUHOHVGRQQpHVGHVDXWUHVWDEOHV
• FHOOHV GRQW OH QRP FRPPHQFH SDU :5+ FRQWLHQQHQW OHV PpWULTXHV KLVWRULVpHV
SXLVTXHDVVRFLpHVjXQLGHQWLILDQWGHFOLFKp 
• FHOOHV GRQW OH QRP FRPPHQFH SDU :5, FRQWLHQQHQW OHV GRQQpHV JpQpUpHV SRXU
DOLPHQWHUOHVFRQVHLOOHUVTXLVHEDVHQWVXU$:5

/HQRPEUHGHFHVWDEOHVHWOHXUGHVFULSWLRQSK\VLTXHpYROXHDXJUpGHVYHUVLRQVG¶2UDFOH
$LQVLHOOHVVRQWDXQRPEUHGHHQ2UDFOHJHQ2UDFOHJ3RXUSOXVGHOLVLELOLWp
2UDFOH PHW j QRWUH GLVSRVLWLRQ GHV YXHV TXL VH EDVHQW VXU FHV WDEOHV HW GRQW OH QRP HVW
EHDXFRXS SOXV SDUODQW /HXU QRP FRPPHQFH SDU '%$B+,67 7RXW FRPPH OHV WDEOHV VXU
OHVTXHOOHV HOOHV UHSRVHQW OHXU QRPEUH pYROXH HQ IRQFWLRQ GHV YHUVLRQV HOOHV VRQW  HQ
YHUVLRQJHQJ

'DQVODVXLWHGHFHGRFXPHQWM¶DLFKRLVLG¶XWLOLVHUPRLDXVVLFHVYXHV


 



,,, /HVSULQFLSDOHVYXHVGH$:5


'HYDQWOHQRPEUHLPSRUWDQWGHVYXHVSURSRVpHV SDU$:5HWHQJDUGDQW jO¶HVSULWOHEXW
ILQDO TXL HVW GH FRPSDUHU GHV PpWULTXHV HQWUH OHV YHUVLRQV J HW J M¶DL WRXW G¶DERUG
pWXGLpO¶HQVHPEOHGHFHVYXHVDILQG¶LGHQWLILHUFHOOHVTXLSRXUURQW
• 0HVXUHUOHVPpWULTXHVLGHQWLILpHVSUpFpGHPPHQW
• (WRXDSSRUWHUXQHOXPLqUHVXUOHVFDXVHVG¶DWWHQWHVLGHQWLILpHV


,,,/HVYXHVSUpVHQWDQWOHFRQWH[WH


Î '%$B+,67B'$7$%$6(B,167$1&(FHWWHYXHFRQWLHQWOHVLQIRUPDWLRQVUHODWLYHVj
O¶HQYLURQQHPHQWGHODEDVHGHGRQQpHV

/D EDVH GH GRQQpHV HVW LGHQWLILpH SDU XQ LGHQWLILDQW '%,'  XQLTXH (WDQW GRQQp
O¶H[LVWHQFHGHFRQILJXUDWLRQVHQFOXVWHU 5$& SOXVLHXUVLQVWDQFHVVRQWVXVFHSWLEOHVGH
VH FRQQHFWHU j OD EDVH GH GRQQpHV &KDFXQH G¶HQWUH HOOHV VH YRLW DWWULEXHU XQ QXPpUR
G¶LQVWDQFH ,167$1&(B180%(5  TXL OXL HVW SURSUH 'DQV OH FDGUH G¶XQ
HQYLURQQHPHQWPRQRLQVWDQFHWHOTX¶$FH73FHWWHYXHQHFRQWLHQWTX¶XQHOLJQH

/DGHVFULSWLRQGHODYXHHVWODVXLYDQWH

&RORQQH 7\SH 'HVFULSWLRQ
'%,' 180%(5 ,GHQWLILDQWGHODEDVHGHGRQQpHV
,167$1&(B180%(5 180%(5 1XPpURG
LQVWDQFH
67$5783B7,0( 7,0(67$03   +RURGDWDJHGXGpPDUUDJHGHO
LQVWDQFH
3$5$//(/ 9$5&+$5   ,QGLFDWHXULQVWDQFHHQ5$&RXQRQ
9(56,21 9$5&+$5   9HUVLRQGHODEDVHGHGRQQpHV
'%B1$0( 9$5&+$5   1RPGHODEDVHGHGRQQpHV
,167$1&(B1$0( 9$5&+$5   1RPGHO
LQVWDQFH
+267B1$0( 9$5&+$5   1RP GH OD PDFKLQH KpEHUJHDQW OD EDVH GH
GRQQpHV
/$67B$6+B6$03/(B,' 180%(5 'HUQLHU LGHQWLILDQW DWWHLQW GDQV O¶KLVWRULTXH
GHVVHVVLRQVDFWLYHV

7DEOHDXGHVFULSWLRQGHODYXH'%$B+,67B'$7$%$6(B,167$1&(


Î '%$B+,67B61$36+27 FHWWH YXH FRQWLHQW O¶HQVHPEOH GHV FOLFKpV TXL RQW pWp SULV
SRXUODEDVHGHGRQQpHV&KDTXHFOLFKpHVWLGHQWLILpSDUXQLGHQWLILDQW 61$3B,' TXL
HVWXQLTXHHWTX¶RQUHWURXYHUDGDQVODSOXSDUWGHVWDEOHVG¶KLVWRULTXH

8Q FOLFKp VH FDUDFWpULVH SDU XQH KHXUH GH GpEXW TXL HVW O¶KHXUH GH ILQ GX FOLFKp
SUpFpGHQW HWXQHKHXUHGHILQ TXLHVWO¶KHXUHGHSULVHGXFOLFKp 


/DGHVFULSWLRQGHODYXHHVWODVXLYDQWH


 



&RORQQH 7\SH 'HVFULSWLRQ


61$3B,' 180%(5 ,GHQWLILDQWXQLTXHGXFOLFKp
'%,' 180%(5 ,GHQWLILDQWGHODEDVHGHGRQQpHV
,167$1&(B180%(5 180%(5 1XPpURGHO
LQVWDQFH
67$5783B7,0( 7,0(67$03 +RURGDWDJH GX GpPDUUDJH GH
O
LQVWDQFH
%(*,1B,17(59$/B7,0( 7,0(67$03 +RURGDWDJHGXGpEXWGXFOLFKp
(1'B,17(59$/B7,0( 7,0(67$03 +RURGDWDJHGHODILQGXFOLFKp
)/86+B(/$36(' ,17(59$/ 7HPSVSDVVpSRXUUpDOLVHUOHFOLFKp
61$3B/(9(/ 180%(5 1LYHDXGXFOLFKp
(5525B&2817 180%(5 1RPEUH G¶HUUHXUV ORUV GH OD SULVH GX
FOLFKp

7DEOHDXGHVFULSWLRQGHODYXH'%$B+,67B61$36+27

,,,9XHVSHUPHWWDQWO¶DQDO\VHGHVRUGUHV64/


8QRUGUH64/HVWLGHQWLILpDXVHLQG¶$:5SDUXQLGHQWLILDQW 64/B,' TXLHVWJpQpUpYLD
XQDOJRULWKPHGHKDFKDJH3RXUUDSSHOXQPrPHRUGUHH[pFXWpVXUGHX[EDVHVGLIIpUHQWHV
PrPHDXQLYHDXGHOHXUVYHUVLRQV DXUDOHPrPHLGHQWLILDQWXQLTXHVXUFHVGHX[EDVHV

Î '%$B+,67B64/7(;7FHWWHYXHSHUPHWGHUHWURXYHUO¶HQVHPEOHGHVRUGUHV64/TXL
RQWpWpH[pFXWpVVXUODEDVHGHGRQQpHVDYHFOHXUWH[WHFRPSOHW

6DGHVFULSWLRQHVWODVXLYDQWH

&RORQQH 7\SH 'HVFULSWLRQ
'%,' 180%(5 ,GHQWLILDQWGHODEDVHGHGRQQpHV
64/B,' 9$5&+$5   ,GHQWLILDQWGHO¶RUGUH64/
64/B7(;7 &/2% 7H[WHGHODUHTXrWH
&200$1'B7<3( 180%(5 7\SHGHODUHTXrWH

7DEOHDXGHVFULSWLRQGHODYXH'%$B+,67B64/7(;7

Î '%$B+,67B64/B3/$1 FHWWH YXH UHFHQVH O¶HQVHPEOH GHV SODQV G¶H[pFXWLRQ GHV
RUGUHV 64/ TXL RQW pWp H[pFXWpV VXU OD EDVH GH GRQQpHV 8Q SODQ G¶H[pFXWLRQ HVW
LGHQWLILpSDU

• /¶LGHQWLILDQWGHO¶RUGUH64/DXTXHOLOVHUDSSRUWH
• (WXQLGHQWLILDQWXQLTXH 3/$1B+$6+B9$/8( TXLHVWJpQpUpSDUXQDOJRULWKPHGH
KDVKDJH FRPPHSRXUO¶LGHQWLILDQW64/B,'XQPrPHSODQG¶H[pFXWLRQDXUDODPrPH
YDOHXUGH3/$1B+$6+B9$/8(VXUGHX[EDVHVGLIIpUHQWHV 

(Q HIIHW O¶LGHQWLILDQW GH O¶RUGUH 64/ Q¶HVW SDV VXIILVDQW SRXU LGHQWLILHU XQ SODQ
G¶H[pFXWLRQGDQVODPHVXUHRDXJUpGHVFKDQJHPHQWVGXFRQWH[WH PRGLILFDWLRQGH
ODYROXPpWULHG¶XQHWDEOHSDUH[HPSOH SOXVLHXUVSODQVG¶H[pFXWLRQGLIIpUHQWVSHXYHQW
rWUHFKRLVLVSRXUXQHPrPHUHTXrWH

/DGHVFULSWLRQGHODYXHHVWODVXLYDQWH
 

Colonne Type Description
DBID NUMBER Identifiant de la base de données
SQL_ID VARCHAR2(13) Identifiant de l'ordre SQL

PLAN_HASH_VALUE NUMBER Identifiant du plan d'exécution

ID NUMBER Identifiant de l'étape du plan


d'exécution
OPERATION VARCHAR2(30) Opération effectuée au cours lors de
cette étape
OPTIONS VARCHAR2(30) Options

OBJECT_NODE VARCHAR2(128) Si un lien de base de données est


utilisé, nom de ce lien

OBJECT# NUMBER Identifiant de l'objet (table ou index)


utilisé
OBJECT_OWNER VARCHAR2(30) Utilisateur propriétaire de l'objet
utilisé
OBJECT_NAME VARCHAR2(31) Nom de l'objet (table ou index) utilisé

OBJECT_ALIAS VARCHAR2(65) Alias donné à l'objet

OBJECT_TYPE VARCHAR2(20) Type de l'objet (table ou index)

OPTIMIZER VARCHAR2(20) Mode de l'optimiseur

PARENT_ID NUMBER Identifiant de l'étape parente


DEPTH NUMBER Niveau de l'opération
POSITION NUMBER Position par rapport aux étapes de
même PARENT_ID

SEARCH_COLUMNS NUMBER Nombre de colonnes de recherche

COST NUMBER Coût estimé par l'optimiseur


statistique pout l'étape en cours

CARDINALITY NUMBER Estimation du nombre de lignes


retournées par cette étape

BYTES NUMBER Estimation du nombre d'octets


retournés par l'opération

CPU_COST NUMBER Estimation du coût CPU de


l'opération
IO_COST NUMBER Estimation du coût en entrées/sorties
de l'opération

47


&RORQQH 7\SH 'HVFULSWLRQ


7(03B63$&( 180%(5 (VSDFHWHPSRUDLUHHVWLPp

352-(&7,21 9$5&+$5   3URMHFWLRQUpDOLVpH

7,0( 180%(5 'XUpHHVWLPpHGHO


RSpUDWLRQ

7DEOHDXGHVFULSWLRQGHODYXH'%$B+,67B64/B3/$1

Î '%$B+,67B64/67$7 FHWWH YXH UHFHQVH WRXWHV OHV VWDWLVWLTXHV SDU RUGUH 64/
H[pFXWpGXUDQWXQFOLFKp

/DGHVFULSWLRQGHVHVSUHPLqUHVFRORQQHVHVWODVXLYDQWH

&RORQQH 7\SH 'HVFULSWLRQ
61$3B,' 180%(5 ,GHQWLILDQWXQLTXHGXFOLFKp
'%,' 180%(5 ,GHQWLILDQWGHODEDVHGHGRQQpHV
,167$1&(B180%(5 180%(5 1XPpURGHO
LQVWDQFH
64/B,' 9$5&+$5  ,GHQWLILDQWGHO
RUGUH64/

3/$1B+$6+B9$/8( 180%(5 ,GHQWLILDQWGXSODQG


H[pFXWLRQXWLOLVp
237,0,=(5B&267 180%(5 &R€WGHODUHTXrWH
FDOFXOpSDUO
RSWLPLVHXUVWDWLVWLTXH
237,0,=(5B02'( 9$5&+$5  0RGHGHO
RSWLPLVHXUVWDWLVWLTXH

6+$5$%/(B0(0 180%(5 0pPRLUHXWLOLVpHSDUO


RUGUH64/ HQ
RFWHWV 
02'8/( 9$5&+$5  1RP GX PRGXOH TXL D H[pFXWp OH
SUHPLHUO
RUGUH64/
$&7,21 9$5&+$5  1RP GH O
DFWLRQ GpILQLH ORUVTXH
O
RUGUH64/DpWpH[pFXWpODSUHPLqUH
IRLV

7DEOHDXGHVFULSWLRQGHODYXH'%$B+,67B64/67$7

/DYXHSURSRVHHQVXLWHGLYHUVHVPpWULTXHVVWDWLVWLTXHVSRXUFKDTXHUHTXrWH
3RXUO¶HQVHPEOHGHFHVPpWULTXHVODYXHRIIUHGHX[YDOHXUV
• /D SUHPLqUH QRWpH 9$/(85!B727$/ SDU H[HPSOH 62576B727$/ 
UHSUpVHQWHODYDOHXUGHODVWDWLVWLTXHGHSXLVOHGpPDUUDJHGHO
LQVWDQFH
• /D GHX[LqPH QRWpH 9$/(85!B'(/7$ SDU H[HPSOH 62576B'(/7$ 
UHSUpVHQWHODYDOHXUGHODVWDWLVWLTXHGXUDQWOHFOLFKp LOV¶DJLWG¶XQGHOWDSDUUDSSRUW
DXFOLFKpSUpFpGHQW 

/HVSULQFLSDOHVPpWULTXHVGHODYXHVRQWOHVVXLYDQWHV

• (;(&87,216QRPEUHG¶H[pFXWLRQVGHODUHTXrWH
• 62576QRPEUHG¶RSpUDWLRQVGHWULVHIIHFWXpV
• 3$56(B&$//6QRPEUHG¶RSpUDWLRQVG¶DQDO\VH SDUVH 
• ',6.B5($'6QRPEUHGHOHFWXUHVGHGRQQpHVHQGLVTXH
• %8))(5B*(76QRPEUHGHOHFWXUHVGHGRQQpHVHQFDFKH

 



• 52:6B352&(66('QRPEUHGHOLJQHVDIIHFWpHVSDUODUHTXrWH
• (/$36('B7,0(WHPSVG¶H[pFXWLRQGHODUHTXrWH
• &38B7,0( WHPSV SDVVp HQ VROOLFLWDWLRQ GH OD &38 SDU OD UHTXrWH SRXU OHV
RSpUDWLRQVG¶DQDO\VH SDUVLQJ H[pFXWLRQHWUHQYRLGHVGRQQpHV IHWFK 
• &/:$,7 WHPSV G¶DWWHQWH GXHV DX FOXVWHU QH FRQFHUQH TXH OHV DUFKLWHFWXUHV HQ
5$& 
• ,2:$,7WHPSVG¶DWWHQWHVXUGHVHQWUpHVVRUWLHV
• $3:$,7WHPSVGHVDWWHQWHVOLpHVjO¶DSSOLFDWLRQ
• &&:$,7WHPSVGHVDWWHQWHVOLpHVjODFRQFXUUHQFH


$LQVL2UDFOHFDUDFWpULVHOHVDWWHQWHVVXUOHVRUGUHV64/VHORQD[HV

• &OXVWHU DWWHQWHV OLpHV DX[ UHVVRXUFHV GDQV OH FDGUH GH 5HDO $SSOLFDWLRQ &OXVWHU
5$& 
• (QWUpHVVRUWLHVDWWHQWHVOLpHVQRWDPPHQWDX[GLVTXHV
• $SSOLFDWLRQDWWHQWHVOLpHVDX[jGXFRGHDSSOLFDWLI SDUH[HPSOHYHUURXSRVpSDU
XQRUGUHH[SOLFLWHWHOTXH/2&.7$%/( 
• &RQFXUUHQFHDWWHQWHVOLpHVDX[UHVVRXUFHVLQWHUQHVjODEDVHGHGRQQpHV

/DUHODWLRQHQWUHWHPSVG¶H[pFXWLRQGHODUHTXrWHHWOHVDWWHQWHVHVWODVXLYDQWH
7H[pFXWLRQ 7&SX™7DWWHQWH

/HWHPSVWRWDOG¶H[pFXWLRQGHODUHTXrWH HVWpJDODXWHPSVSDVVpVXUGHV RSpUDWLRQV&38
DGGLWLRQQpGHODVRPPHGHVWHPSVG¶DWWHQWH

3DUFRQVpTXHQWSRXUXQHH[pFXWLRQG¶XQHUHTXrWHQRXVDYRQVODUHODWLRQVXLYDQWH
(/$36('B7,0(  &38B7,0(
   &/:$,7
   ,2:$,7
   $3:$,7
   &&:$,7

'DQV OH FDGUH GH O¶DSSOLFDWLRQ $FH73 TXL Q¶HVW SDV HQ DUFKLWHFWXUH 5$& &/:$,7  
QRXVSRXYRQVGRQFVLPSOLILHUODUHODWLRQFRPPHVXLW
(/$36('B7,0(  &38B7,0(
   ,2:$,7
   $3:$,7
   &&:$,7

,,,$XWUHVYXHV


/HV YXHV FLGHVVRXV QRXV SHUPHWWURQW GH GLDJQRVWLTXHU OH FDV pFKpDQW OHV FDXVHV GHV
DWWHQWHVLGHQWLILpHVVXUOHVUHTXrWHV64/


Î '%$B+,67B6<667$7 FHWWH YXH SURSRVH GHV GRQQpHV G¶KLVWRULTXH VXU OHV
VWDWLVWLTXHVV\VWqPH

 

DBA_HIST_OSSTAT : cette vue propose des données d’historique sur les
statistiques liées au système d’exploitation,

DBA_HIST_SEG_STAT : cette vue propose des données d’historique sur les


statistiques liées aux segments (tables, indexes) de la base de données,

DBA_HIST_SYS_TIME_MODEL : cette vue nous donne toutes les informations


cumulatives des temps passés sur différentes opérations.

III.4 Le système de collecte centralisée des métriques Oracle

III.4.1 Les problèmes posés

A chaque fois qu’un test est lancé, celui-ci est réalisé à partir d’une copie de base de
données de production qui a été effectuée à un moment donné précis et qui sert de base de
référence aux tests. Ainsi, l’ensemble des tests effectués sur un environnement de test sont
effectués sur un périmètre de données initiales constant.
Par conséquent, la première opération réalisée lors d’un test est de remplacer le contenu de
la base de données de test avec cette sauvegarde de base de données de production.

Ce fonctionnement pose un problème, dans la mesure où le référentiel AWR, qui fait partie
de la base de données, est lui aussi perdu, comme l’illustre le schéma suivant :

Figure 18: la perte des données AWR

Par conséquent :
50


• &HODQRXVREOLJHjEORTXHUO¶H[pFXWLRQGXWHVWVXLYDQWWDQWTXHOHVGRQQpHV$:5
Q¶RQWSDVpWpDQDO\VpHV
• ,OQRXVHVWLPSRVVLEOHGHUHYHQLUVXUO¶DQDO\VHG¶XQWHVWXQHIRLVTXHOHWHVWVXLYDQWD
FRPPHQFp&HODVLJQLILHQRWDPPHQWTX¶LOHVWLPSRVVLEOHGHFRPSDUHUOHVPpWULTXHV
$:5GHGHX[H[pFXWLRQVFRQVpFXWLYHVGHWHVWVVXUODPrPHEDVHGHGRQQpHV


,,, /DVROXWLRQDSSRUWpH


/DVROXWLRQHQYLVDJpHGDQVXQSUHPLHUWHPSVHVWGHFHQWUDOLVHUOHVGRQQpHV$:5GDQVXQH
EDVH GH GRQQpHV XQLTXH $ O¶LVVXH GH FKDTXH WHVW XQ SURJUDPPH HVW H[pFXWp DILQ GH
UpFXSpUHU OHV GRQQpHV $:5 GH OD EDVH GH WHVW DILQ GH OHV UDSDWULHU VXU FH UpIpUHQWLHO
FHQWUDOLVp




)LJXUHSUHPLqUHVROXWLRQHQYLVDJpH


7RXWHIRLV FHWWH VROXWLRQ Q¶HVW SDV VDWLVIDLVDQWH FDU OHV GRQQpHV $:5 VRQW WUqV
YROXPLQHXVHV HW OH QRPEUH GH WHVWV HIIHFWXpV HVW WUqV LPSRUWDQW FH TXL D HQJHQGUp WUqV
UDSLGHPHQW XQH YROXPpWULH GLIILFLOH j JpUHU HQ EDVH FHQWUDOLVpH QRXV DYLRQV GpMj DWWHLQW
SUqVGH*RDXERXWG¶XQPRLVGHPLVHHQ°XYUHGHFHWWHVROXWLRQ 
'H SOXV OHV SUHPLHUV WHVWV DYHF XQH EDVH GH GRQQpHV 2UDFOH J P¶RQW UpYpOp XQH
LQFRPSDWLELOLWpWRWDOHHQWUHOHVGRQQpHV$:5JHWFHOOHVGHODJHQHIIHW
• ,OQ¶HVWSDVSRVVLEOHG¶LPSRUWHUGHVGRQQpHV $:5JGDQVXQHEDVH GHGRQQpHV
2UDFOHJ FHTXLDSSDUDLWFRPPHORJLTXH 
• 0DLVO¶LQYHUVHHVWpJDOHPHQWLPSRVVLEOH

3DUFRQVpTXHQWM¶DLG€HQYLVDJHUXQHVROXWLRQTXLSHUPHWWH

 



• 'HPDLQWHQLUODYROXPpWULHGHVGRQQpHV$:5jGHVQLYHDX[UDLVRQQDEOHV
• 'H IDLUH FRKDELWHU GHX[ UpIpUHQWLHOV $:5 O¶XQ HQ J O¶DXWUH HQ J %LHQ
HQWHQGXXQHIRLVTXHO¶HQVHPEOHGHVEDVHVGHGRQQpHVGXSURMHW$FH73DXURQWpWp
PLJUpHV VRXV 2UDFOH J QRXV SRXUURQV DSUqV XQH SpULRGH GH VpFXULWp SHQGDQW
ODTXHOOHODEDVHFHQWUDOLVpH$:5JVHUDFRQVHUYpH QH JDUGHUTXHOHUpIpUHQWLHO
$:5J

'HSOXVLOP¶HVWDSSDUXLPSRUWDQWTXHFHWWHVROXWLRQSXLVVHXQHIRLVODPLJUDWLRQWHUPLQpH
rWUHUpXWLOLVpHSRXUGHVDFWLYLWpVGHVXUYHLOODQFHGHO¶KLVWRULTXHGHVPpWULTXHVGHVEDVHVGH
SURGXFWLRQHWRXG¶8$7

/D VROXWLRQ TXH M¶DL LPDJLQpH HQ WHQDQW FRPSWH GH FHV FRQWUDLQWHV HVW UHSUpVHQWpH SDU OD
ILJXUHFLGHVVRXV


 

Figure 20: la solution mise en place
53


$ FKDTXH IRLV TX¶XQ WHVW VH WHUPLQH PDLV RQ SHXW WUqV ELHQ LPDJLQHU j O¶DYHQLU TX¶XQ
GpFOHQFKHPHQWDXWRPDWLTXHVRLWSURJUDPPpUpJXOLqUHPHQWDILQGHUpFXSpUHUGHVPpWULTXHV
GHV EDVHV GH SURGXFWLRQ  LO VROOLFLWH XQ SUHPLHUSURJUDPPH O¶H[WUDFWHXU TXL VHUD FKDUJp
G¶H[WUDLUH OHV GRQQpHV $:5 GH OD EDVH GH WHVW VRXV IRUPH GH ILFKLHUV HW G¶HQYR\HU FHV
ILFKLHUVYLDOHUpVHDXYHUVODPDFKLQHTXLKpEHUJHOHVEDVHVFHQWUDOLVpHV

6XUFHWWHPDFKLQHXQSURJUDPPH O¶DLJXLOOHXU HVWFKDUJpGHVFUXWHUOHUpSHUWRLUHRVRQW
GpSRVpV OHV ILFKLHUV JpQpUpV SDU O¶H[WUDFWHXU (Q IRQFWLRQ G¶XQ ILFKLHU GH SDUDPpWUDJH LO
GpSODFHUDOHVILFKLHUVUHoXV
• 'DQVOHUpSHUWRLUHGHVILFKLHUVjWUDLWHU
2X
• 'DQVOHUpSHUWRLUHGHVILFKLHUV©HQDWWHQWHª

8Q WURLVLqPH SURJUDPPH O¶LQFRUSRUDWHXU  VFUXWH TXDQW j OXL OH UpSHUWRLUH GHV ILFKLHUV j
WUDLWHU'qVTXHOHVILFKLHUVFRUUHVSRQGDQWjXQWHVWDUULYHQWGDQVFHUpSHUWRLUHLOVVRQWSULV
HQFKDUJHHWLQFRUSRUpVDXUpIpUHQWLHO$:5FRUUHVSRQGDQW

(QILQ XQ GHUQLHU SURJUDPPH OH FRPSDUDWHXU  ODQFp j OD GHPDQGH SHUPHW G¶pWDEOLU XQH
FRPSDUDLVRQHQWUHOHVUpVXOWDWVGHGHX[WHVWV TX¶LOVVHWURXYHQWGDQVOHPrPHUpIpUHQWLHORX
QRQ ,OHVWSDUDLOOHXUVSRVVLEOHG¶XWLOLVHUOHVVFULSWVIRXUQLVSDU2UDFOHDILQGHJpQpUHUXQ
UDSSRUW$:5
• 6LPSOH pWXGH GX FRPSRUWHPHQW GH OD EDVH GH GRQQpHV GXUDQW XQ WHVW ± RX GXUDQW
XQHSpULRGHGRQQpH 
• 'H FRPSDUDLVRQ HQWUH GHX[ WHVWV PDLV XQLTXHPHQW VXU GHV WHVWV SRUWDQW VXU OD
PrPHYHUVLRQGHODEDVHGHGRQQpHV

$ILQG¶DVVXUHUXQHYROXPpWULHUDLVRQQDEOHVXUOHVEDVHVGHUpIpUHQWLHOVM¶DLPLVHQSODFHXQ
VFULSW TXL SHUPHW GH VXSSULPHU OHV GRQQpHV G¶XQ RX SOXVLHXUV WHVWV G¶XQ UpIpUHQWLHO &H
VFULSWHVWODQFpDXWRPDWLTXHPHQWSDUODEDVHGHGRQQpHVHWVXSSULPHWRXVOHVWHVWVYLHX[GH
SOXVG¶XQPRLV&HODQHSRVHSDVGHSUREOqPHGDQVODPHVXUHR
• $XERXWG¶XQPRLVXQWHVWGHYUDLWDYRLUpWpDQDO\Vp
• (WVLFHQ¶HVWSDVOHFDVLOVXIILWGHUHGpSODFHUOHVILFKLHUVFRUUHVSRQGDQWjFHWHVW
GDQVOHUpSHUWRLUHGHVILFKLHUVjWUDLWHUSRXUTX¶LOVVRLHQWjQRXYHDXLQFRUSRUpV


,,,/¶H[WUDFWHXUGHGRQQpHV


&HSURJUDPPHUpDOLVpHQ6KHOO8QL[HVWFKDUJpG¶H[WUDLUHOHVGRQQpHV$:5GHODEDVHGH
GRQQpHV TXL OXL HVW SDVVpH HQ SDUDPqWUH ,O YD SRXU FHOD VH FRQQHFWHU j FHWWH EDVH GH
GRQQpHV HW H[pFXWHU XQH URXWLQH QRQGRFXPHQWpH G¶2UDFOH TXL SHUPHW G¶H[WUDLUH
O¶HQVHPEOHGHVWDEOHVYXHVHWLQGH[HVFRQVWLWXDQWOHUpIpUHQWLHO$:5VRXVIRUPHGHILFKLHU
GHYLGDJHTXLSRXUUDrWUHLPSRUWpGDQVXQHDXWUHEDVHGHGRQQpHV
/HSURJUDPPHYDpJDOHPHQWIRXUQLUXQILFKLHUWH[WHFRQWHQDQWOHVPpWDGRQQpHVSHUPHWWDQW
GH FRQQDLWUH OH FRQWH[WH HQWRXUDQW OH ILFKLHU GH YLGDJH JpQpUp &HV GRQQpHV VRQW OHV
VXLYDQWHV
• 1RPGHODEDVH
• 1XPpURGHO¶LQVWDQFH
• 'DWHHWKHXUHGHGpPDUUDJHGHODEDVHGHGRQQpHV
• 'DWHV\VWqPH

 



• &RPPHQWDLUHOLEUH SHUPHWWDQWGHPLHX[GpFULUHOHWHVWOHFDVpFKpDQW 
• 1XPpURGXSUHPLHUFOLFKpGXWHVW
• 'DWHHWKHXUHGHGpEXWGXSUHPLHUFOLFKp
• 'DWHHWKHXUHGHILQGXSUHPLHUFOLFKp
• 1XPpURGXGHUQLHUFOLFKpGXWHVW
• 'DWHHWKHXUHGHGpEXWGXGHUQLHUFOLFKp
• 'DWHHWKHXUHGHILQGXGHUQLHUFOLFKp
• 9HUVLRQGHO¶DSSOLFDWLRQ

/HV RSpUDWLRQV UHODWLYHV DX SUHPLHU HW DX GHUQLHU FOLFKp GX WHVW VRQW QpFHVVDLUHV FDU OD
URXWLQHG¶2UDFOHHVWFHUWHVWUqVXWLOHPDLVHOOHQHSHUPHWSDVGHOLPLWHUO¶H[WUDFWLRQjXQH
FHUWDLQH SODJH GH FOLFKpV QRXV VRPPHV DLQVL REOLJpV G¶H[SRUWHU OD WRWDOLWp GHV GRQQpHV
$:5

8QHIRLVFHVILFKLHUVJpQpUpVLOVVRQWHQYR\pVYLDOHUpVHDXYHUVODPDFKLQHKpEHUJHDQWOHV
UpIpUHQWLHOVFHQWUDOLVpV


,,,/¶DLJXLOOHXU


&HSURJUDPPHOXLDXVVLUpDOLVpHQ6KHOO8QL[HVWWRXWVLPSOHPHQWFKDUJpGHGpSODFHUOHV
ILFKLHUV UHoXV YHUV O¶HPSODFHPHQW TXL OHXU HVW UpVHUYp ILFKLHUV j WUDLWHU RX ILFKLHUV HQ
DWWHQWH 

,OVHEDVHSRXUFHODVXUXQILFKLHUGHUqJOHVTXLOXLLQGLTXHSRXUFKDTXHEDVHGHGRQQpHV
O¶HPSODFHPHQWGHGHVWLQDWLRQGHVILFKLHUV$:5JpQpUpV


,,,/¶LQFRUSRUDWHXU


&H SURJUDPPH UpDOLVp HQ 6KHOO 8QL[  YD UpFXSpUHU OHV ILFKLHUV PLV j VD GLVSRVLWLRQ SDU
O¶DLJXLOOHXUHWOHVLQFRUSRUHUGDQVO¶XQGHVGHX[UpIpUHQWLHOV
&KDTXH MHX GH WHVW VH YRLW LFL DWWULEXHU XQ LGHQWLILDQW '%,' TXL SHUPHW GH O¶LGHQWLILHU GH
PDQLqUHXQLTXH
/HVGRQQpHVGXILFKLHUGHPpWDGRQQpHVVRQWDXVVLLQFRUSRUpHVHQEDVHGHGRQQpHVGDQVOD
WDEOH $:5B&203 TXL D pWp FUppH DILQ GH FRPSOpWHU OHV GRQQpHV $:5 HW UpSHUWRULH
O¶HQVHPEOHGHVGRQQpHVGHWHVWVSUpVHQWHVHQEDVHGHGRQQpHV

6DGHVFULSWLRQHVWODVXLYDQWH

&RORQQH 7\SH 'HVFULSWLRQ
'%,' 180%(5 ,GHQWLILDQW XQLTXH GH OD EDVH GH
GRQQpHV
,167$1&(B180%(5 180%(5 1XPpURG
LQVWDQFH
67$5783B7,0( 7,0(67$03 'DWH HW KHXUH GH GpPDUUDJH GH
ODEDVH
/2*,&$/B%86,1(66B'$< '$7( 'DWHV\VWqPH
&200(176 9$5&+$5   &RPPHQWDLUHVXUOHWHVW

 



&RORQQH 7\SH 'HVFULSWLRQ


25,*,1$/B'%B1$0( 9$5&+$5   1RPGHODEDVHGHGRQQpHV
25,*,1$/B,167$1&(B1$0( 9$5&+$5   1RPGHO
LQVWDQFH
),567B61$3B,' 180%(5 1XPpURGXSUHPLHUFOLFKp
/$67B61$3B,' 180%(5 1XPpURGXGHUQLHUFOLFKp
),567B61$3B%(*,1B'$7( '$7( 'DWH HW KHXUH GH GpEXW GX
SUHPLHUFOLFKp
),567B61$3B(1'B'$7( '$7( 'DWH HW KHXUH GH ILQ GX SUHPLHU
FOLFKp
/$67B61$3B%(*,1B'$7( '$7( 'DWH HW KHXUH GH GpEXW GX
GHUQLHUFOLFKp
/$67B61$3B(1'B'$7( '$7( 'DWH HW KHXUH GH ILQ GX GHUQLHU
FOLFKp
$:5B,03257 '$7( 'DWH HW KHXUH GH O
LPSRUW GHV
GRQQpHVGDQVOHUpIpUHQWLHO
$&(73B9(56,21 9$5&+$5   9HUVLRQDSSOLFDWLYH
),/(1$0( 9$5&+$5   1RPGXILFKLHU

7DEOHDXGHVFULSWLRQGHODWDEOH$:5B&203

,,,/HFRPSDUDWHXU

,OV¶DJLWGXSURJUDPPHTXLYDQRXVSHUPHWWUHGHFRPSDUHUGHX[MHX[GHWHVWVQRWDPPHQW
DXQLYHDXGHVUHTXrWHV64/TXLRQWpWpH[pFXWpHVHWGHFRPSDUHUOHXUVPpWULTXHV

-¶DL FKRLVL GH UpDOLVHU FHW RXWLO VRXV OD IRUPH G¶XQH IHXLOOH ([FHO TXL VH FRQQHFWH SDU
O¶LQWHUPpGLDLUHG¶XQHFRQQH[LRQ2'%& DX[GHX[EDVHVGHGRQQpHVHWH[WUDLWOHVGRQQpHV
QpFHVVDLUHVjODFRPSDUDLVRQHWOHVPHWHQIRUPHWUqVUDSLGHPHQW([FHODpWpFKRLVLSRXU
SOXVLHXUVUDLVRQV

• /HGpYHORSSHPHQWHVWWUqVUDSLGHHWWUqVLQWXLWLI
• /HUpVXOWDWREWHQXVXUXQHIHXLOOH([FHOSHXWrWUHWUqV IDFLOHPHQWWULpRX PDQLSXOp
FDFKpSDUO¶LQWHUPpGLDLUHGHILOWUHVSDUH[HPSOH 
• ,O HVW SRVVLEOH GH JpQpUHU WUqV UDSLGHPHQW GHV JUDSKLTXHV j SDUWLU GHV GRQQpHV
H[WUDLWHV HW G¶DYRLU DLQVL WUqV UDSLGHPHQW XQH YLVLRQ JUDSKLTXH GH OD FRPSDUDLVRQ
GHGHX[WHVWV

/DSUHPLqUHYHUVLRQGHFHFRPSDUDWHXUSRVDLWSUREOqPHGDQVODPHVXUHROHSURJUDPPH
HIIHFWXDLWGHVFDOFXOVjODYROpHVXUOHVPpWULTXHVDILQGHOHV FRPSDUHUOHVUHTXrWHV DLQVL
H[pFXWpHVpWDQWSDUIRLVORQJXHVjV¶H[pFXWHU

3DU H[HPSOH DILQ GH JpQpUHU OHV GRQQpHV FRQFHUQDQW OHV PpWULTXHV UHODWLYHV DX[ RUGUHV
64/SRXUOHMHXGHWHVWG¶LGHQWLILDQW '%,' ODUHTXrWHXWLOLVpHpWDLWODVXLYDQWH

8*5)
TRMTUBUBT TFMFDU
TECJE 
TJOTUBODF@OVNCFS 
TRM@JE 
QMBO@IBTI@WBMVF 

 

max(module) module,
sum(elapsed_time_delta) elap,
sum(cpu_time_delta) cput,
sum(executions_delta) exec,
sum(buffer_gets_delta) bufget,
sum(fetches_delta) fetches,
sum(sorts_delta) sorts,
sum(LOADS_DELTA) loads,
sum(INVALIDATIONS_DELTA) invalidations,
sum(PARSE_CALLS_DELTA) parse_calls,
sum(DISK_READS_DELTA) disk_reads,
sum(ROWS_PROCESSED_DELTA) rows_processed,
sum(DIRECT_WRITES_DELTA) direct_writes,
max(nvl(OPTIMIZER_COST,0)) optimizer_cost,
sum(IOWAIT_DELTA) iowaits,
sum(CLWAIT_DELTA) clwaits,
sum(APWAIT_DELTA) apwaits,
sum(CCWAIT_DELTA) ccwaits
from dba_hist_sqlstat s, awr_comp x
where s.dbid = x.dbid
and s.instance_number = x.instance_number
and x.first_snap_id < snap_id
and snap_id <= x.last_snap_id
group by s.dbid, s.instance_number,sql_id, plan_hash_value)
select DBID,
instance_number, module, sql_id, plan_hash_value, sqltext,
TotalExecutions total_execs, ElapsedTimeSecs elapsed_time,
CPUTimeSecs cpu_time, totalbuffergets TOTAL_BUFFER_GETS,
buffergetsperexec avg_buffer_gets,
fetches, sorts, parse_calls, disk_reads, rows_processed,
direct_writes, optimizer_cost,
px_servers_execs, iowaits io_wait_time, clwaits
cl_wait_time, apwaits ap_wait_time, ccwaits cc_wait_time,
rows_processed_per_exec, ElapsedPerExecSecs
elapsed_per_exec, CPUPerExecSecs cpu_per_exec,
iowaitsperexec io_wait_time_per_exec,
clwaitsperexec cl_wait_time_per_exec,
apwaitsperexec ap_wait_time_per_exec,
ccwaitsperexec cc_wait_time_per_exec
from (select nvl((sqlstat.elap/1000000), to_number(null))
ElapsedTimeSecs,
nvl((sqlstat.cput/1000000), to_number(null)) CPUTimeSecs,
nvl((sqlstat.bufget), to_number(null)) totalbuffergets,
decode(sqlstat.exec, 0, to_number(null), (sqlstat.bufget /
sqlstat.exec )) buffergetsperexec,
sqlstat.exec TotalExecutions,
decode(sqlstat.exec, 0, to_number(null), (sqlstat.elap /
sqlstat.exec / 1000000)) ElapsedPerExecSecs,
decode(sqlstat.exec, 0, to_number(null), (sqlstat.cput /
sqlstat.exec / 1000000)) CPUPerExecSecs,
decode(sqlstat.exec, 0, to_number(null),
(sqlstat.rows_processed / sqlstat.exec )) rows_processed_per_exec,
sqlstat.sql_id,
sqlstat.plan_hash_value,
sqlstat.module,
sqltext.dbid,
sqlstat.instance_number,
nvl(sqltext.sql_text, to_clob('** SQL Text Not Available
**')) sqltext,
fetches, sorts, parse_calls, disk_reads, rows_processed,
direct_writes, optimizer_cost,

57
px_servers_execs, iowaits/ 1000000 iowaits, clwaits/
1000000 clwaits, apwaits/ 1000000 apwaits, ccwaits / 1000000 ccwaits,
decode(sqlstat.exec, 0, to_number(null), (sqlstat.iowaits
/ sqlstat.exec / 1000000 ))iowaitsperexec,
decode(sqlstat.exec, 0, to_number(null), (sqlstat.clwaits
/ sqlstat.exec / 1000000)) clwaitsperexec,
decode(sqlstat.exec, 0, to_number(null), (sqlstat.apwaits
/ sqlstat.exec / 1000000)) apwaitsperexec,
decode(sqlstat.exec, 0, to_number(null), (sqlstat.ccwaits
/ sqlstat.exec / 1000000)) ccwaitsperexec
from sqlstat,
dba_hist_sqltext sqltext
where sqltext.sql_id(+) = sqlstat.sql_id
and sqltext.dbid = sqlstat.dbid
and sqlstat.dbid= 121
);

En raison de l’importante volumétrie de la vue DBA_HIST_SQL_STAT, cette requête


répondait parfois au bout de quelques minutes. Or, il fallait l’exécuter deux fois (une pour
chacun des jeux de test à comparer), ce qui engendrait des temps d’attente excessifs.
C’est pourquoi j’ai décidé de mettre en place des vues matérialisées.

Dans les systèmes de gestion de bases de données comme Oracle, une vue peut être
considérée comme une requête stockée en base, cette requête étant exécutée à chaque
consultation de la vue.
Une vue matérialisée est une vue (dans le sens où elle est associée à une requête) dont le
résultat est stocké au sein de la base de données (sous la même forme qu’une table) et qui
peut être rafraichie (c’est-à-dire que le résultat de la requête est recalculé et stocké en lieu
et place du résultat précédent) à la demande, à chaque modification d’une ligne de la table
sur laquelle porte la requête de la vue, ou à intervalles réguliers.

Dans le cas de notre système, le moment le plus approprié pour rafraichir les vues
matérialisées de comparaison des jeux de tests était celui où les données AWR
correspondant à un jeu de tests étaient incorporées dans la base de données, c’est-à-dire à
la fin de l’incorporateur. Donc ce programme a été modifié afin de mettre à jour
complétement les vues matérialisées utiles au comparateur avant de se terminer.

Les vues matérialisées mises en place sont les suivantes :

AWR_SQL_REPORT :
Cette vue propose une agrégation de la vue DBA_HIST_SQLSTAT afin de faire ressortir
les statistiques pertinentes pour l’analyse des ordres SQL qui ont été exécutés durant un jeu
de tests.

Cette vue matérialisée est en quelque sorte le cœur du comparateur, car c’est surtout au
niveau des requêtes SQL que va se porter l’analyse de la non-régression entre les versions
10g et 11g.

Sa description est la suivante :

58
Colonne Type Description
DBID NUMBER Identifiant unique de la base de données
INSTANCE_NUMBER NUMBER Numéro d'instance
MODULE VARCHAR2(64) Nom du module qui a exécuté, le
premier, l'ordre SQL
SQL_ID VARCHAR2(13) Identifiant de l'ordre SQL
PLAN_HASH_VALUE NUMBER Identifiant du plan d'exécution utilisé
OPTIMIZER_COST NUMBER Coût estimé par l’optimiseur statistique

SQLTEXT CLOB Texte de la requête

TOTAL_EXECS NUMBER Nombre total d'exécutions pendant le


jeu de tests
ELAPSED_TIME NUMBER Temps total passé (en secondes) sur la
requête
CPU_TIME NUMBER Temps total passé (en secondes) en
sollicitation CPU sur la requête
TOTAL_BUFFER_GETS NUMBER Nombre total de lectures de données en
cache
AVG_BUFFER_GETS NUMBER Nombre de lectures de données en
cache par exécution
IOWAITS NUMBER Nombre total d'attentes sur les
entrées/sorties
IOWAITSPEREXEC NUMBER Nombre d'attentes sur les entrées/sorties
par exécution
APWAITS NUMBER Nombre total d'attentes liées à
l'application
APWAITSPEREXEC NUMBER Nombre d'attentes liées à l'application
par exécution
CCWAITS NUMBER Nombre total d'attentes liées à la
concurrence
CCWAITSPEREXEC NUMBER Nombre d'attentes liées à la
concurrence par exécution

Tableau 9 : description de la vue matéralisée AWR_SQL_REPORT

Par exemple, pour le jeu de tests d’identifiant 44503, voici une partie de son contenu :

59
Figure 21 : extrait de la vue matérialisée AWR_SQL_REPORT

A partir de cette vue, il est aisé de comparer les résultats de deux jeux de tests, requête par
requête.

AWR_SERVICE_REPORT :
Lorsqu’un composant de l’application se connecte à l’application, il s’enregistre sous un
nom de service prédéfini. Cette vue nous permet d’obtenir des statistiques non plus par
requête, mais par service.

Sa description est la suivante :

Colonne Type Description


DBID NUMBER Identifiant unique de la base de données
INSTANCE_NUMBER NUMBER Numéro d'instance
SERVICE_NAME VARCHAR2(64) Nom du service
STAT_ID NUMBER Identifiant de la statistique
STAT_NAME VARCHAR2(400) Nom de la statistique
PREMIERE NUMBER Valeur de la statistique sur le premier
cliché du jeu de tests
DERNIERE NUMBER Valeur de la statistique sur le dernier
cliché du jeu de tests
DIFF NUMBER Différence de valeur entre le dernier
cliché et le premier

Tableau 10 : description de la vue matérialisée AWR_SERVICE_REPORT

AWR_SYSTAT :
Cette vue matérialisée propose une vision agrégée des statistiques systèmes (vue
DBA_HIST_SYSSTAT). Elle est utilisée dans le but de comparer la charge entre deux
jeux de tests. En effet, si les valeurs dans cette vue diffèrent trop entre deux jeux de tests,

60
cela peut indiquer que le périmètre de ces deux jeux n’était pas totalement identique et
dans ce cas invalider la comparaison.

Sa description est la suivante :

Colonne Type Description


DBID NUMBER Identifiant unique de la base de données
INSTANCE_NUMBER NUMBER Numéro d'instance
STAT_NAME VARCHAR2(400) Nom de la statistique
VALUE NUMBER Valeur de la statistique pour le jeu de tests
VALUE_PER_SEC NUMBER Valeur de la statistique par seconde

Tableau 11 : description de la vue matérialisée AWR_SYSTAT

AWR_WAIT_EVENTS_REPORT :
Cette vue propose une représentation de chaque événement d’attente (et de sa durée
cumulative) qui s’est déroulé durant un jeu de tests.

Sa description est la suivante :

Colonne Type Description


DBID NUMBER Identifiant unique de la base de données
INSTANCE_NUMBER NUMBER Numéro d'instance
EVENT VARCHAR2(400) Nom de l'événement d'attente
VALUE NUMBER Valeur de la statistique pour le jeu de
tests
WAITS NUMBER Nombre total d'attentes sur l'événement
TOTAL_TIMEOUTS NUMBER Nombre de fois où l'attente s'est
terminée par un timeout
% TIMEOUTS NUMBER Pourcentage d'attentes ayant terminé en
timeout
WAIT_TIME NUMBER Temps total d'attente (en secondes)
PERCENT_OF_TOTAL NUMBER Pourcentage du nombre total d'attentes
WAITCLASS VARCHAR2(400) Classe d'attente

Tableau 12 : description de la vue matérialisée AWR_WAIT_EVENTS_REPORT

Par exemple, si nous voulons connaitre le nombre d’attentes relatives aux latches sur le
cache des données pour le jeu de tests d’identifiant 8503, la consultation de la vue
matérialisée nous fournit l’information :

61




)LJXUHH[WUDLWGHODYXHPDWpULDOLVpH$:5B:$,7B(9(176B5(3257


$:5B7,0(02'(/B67$76
/HVVWDWLVWLTXHVGXPRGqOHGHWHPSVPHVXUHQWOHWHPSVSDVVpGDQVODEDVHGHGRQQpHVSDU
W\SHG
RSpUDWLRQ3DUPLFHVVWDWLVWLTXHVODSOXVLPSRUWDQWHHVWOH©GDWDEDVHWLPHª RX'%
7LPH TXLUHSUpVHQWHODFKDUJHWRWDOHGHODEDVHGHGRQQpHVSRXUGHVSURFHVVXVXWLOLVDWHXUV
/HVDXWUHVVWDWLVWLTXHVVRQWOHVVXLYDQWHV
• 7HPSVSDVVpjDQDO\VHUGHVUHTXrWHV64/ KDUGSDUVHVRIWSDUVH 
• 7HPSVSDVVpjFRPSLOHUGXFRGH3/64/
• 7HPSVSDVVpjJpUHUOHVFRQQHFWLRQVGHVXWLOLVDWHXUV
• 7HPSVSDVVpHQVROOLFLWDWLRQ&38
• 7HPSVSDVVpjH[pFXWHUGHVUHTXrWHV64/
• 7HPSVSDVVpVXUGHVSURFHVVXVG¶DUULqUHSODQ

/D YXH $:5B7,0(02'(/B67$76 UHSUpVHQWH FKDFXQH GHV VWDWLVWLTXHV GX PRGqOH GH
WHPSVSHQGDQWXQMHXGHWHVWV(OOHQRXVSHUPHWWUDGRQFOHFDVpFKpDQWGHGLDJQRVWLTXHU
OHVUDLVRQVGHSUREOqPHVGHSHUIRUPDQFHV3DUH[HPSOHXQWHPSVH[FHVVLISDVVp HQKDUG
SDUVHSRXUUDQRXVDPHQHUjUHYRLUODVWUDWpJLHG¶XWLOLVDWLRQGHVYDULDEOHVGDQVOHVUHTXrWHV
64/

6DGHVFULSWLRQHVWODVXLYDQWH

&RORQQH 7\SH 'HVFULSWLRQ
'%,' 180%(5 ,GHQWLILDQWXQLTXHGHODEDVHGHGRQQpHV
,167$1&(B180%(5 180%(5 1XPpURG
LQVWDQFH
67$7B,' 180%(5 ,GHQWLILDQWGHODVWDWLVWLTXH
67$7B1$0( 9$5&+$5   1RPGHODVWDWLVWLTXH
6(&21'6 180%(5 'XUpH SDVVpH SHQGDQW OH MHX GH WHVWV HQ
VHFRQGHV 
3(5&(17B2)B'%B7,0( 180%(5 3RXUFHQWDJH GX WHPSV SDVVp VXU O¶pYpQHPHQW
UDPHQpDX©GDWDEDVHWLPHª

7DEOHDXGHVFULSWLRQGHODYXHPDWpULDOLVpH$:5B7,0(02'(/B67$76


)RQFWLRQQHPHQWGXFRPSDUDWHXU

&RPPH GLW SUpFpGHPPHQW OH SURJUDPPH VH SUpVHQWH VRXV IRUPH G¶XQH IHXLOOH ([FHO
&HOOHFLVHFRPSRVHGHGLIIpUHQWVRQJOHWV/¶XQGHFHVRQJOHWVQRPPp©&RQILJªSHUPHW
jO¶XWLOLVDWHXU HQO¶RFFXUUHQFHXQGHPHVFROOqJXHVDGPLQLVWUDWHXUGHEDVHVGHGRQQpHVRX

 

moi-même) de saisir l’identifiant des deux jeux de tests à comparer puis de lancer la
récupération des données.
La capture d’écran ci-dessous présente cet onglet :

Figure 23 : le comparateur - onglet "Config"

Une fois que l’utilisateur a cliqué sur les touches adéquates (Control + G), les autres
onglets de la feuille Excel sont remplis avec les données AWR.

Ces différents onglets sont les suivants :

Summary :
Cet onglet récapitule les données relatives aux deux jeux de tests comparés, et permet de
s’assurer qu’il n’y a pas eu d’erreur de saisie et donc que l’on compare bien les deux jeux
de tests que l’on voulait comparer. Il s’appuie sur la table AWR_COMP.

En voici une capture d’écran :

Figure 24 : le comparateur - onglet "Summary"

Queries :
Cet onglet, qui s’appuie sur la vue matérialisée AWR_SQL_REPORT, compare les
performances de chaque requête entre les deux jeux de tests. Il permet ainsi d’identifier
très rapidement les requêtes dont le temps d’exécution régresse suite à la migration vers
Oracle 11g (ainsi, soyons positifs, que celles qui se comportent mieux sous la nouvelle
version).

63
Les deux captures d’écran ci-dessous illustrent son utilité. Nous voyons ainsi comment on
peut comparer les temps unitaires d’exécution de chaque requête :

Figure 25 : le comparateur - onglet "Queries" (première partie)

Cet onglet présente également de comparer les temps passés sur chacun des éléments
constituant le temps d’exécution de la requête (temps CPU, attentes sur les entrées/sorties,
attentes sur la concurrence et attentes liées à l’application) :

Figure 26 : le comparateur - onglet "Queries" (deuxième partie)

Parameters :
Cet onglet va nous permettre de comparer les paramètres de chacune des deux bases de
données. Il permettra d’établir si des différences de performances ne peuvent pas
s’expliquer par un paramétrage diffèrent.

En voici une capture :

64
Figure 27 : le comparateur - onglet "Parameters"

Time model :
Cet onglet est rempli via une requête sur la vue matérialisée AWR_TIMEMODEL_STATS
et permet d’avoir une comparaison sur les modèles de temps Oracle des deux jeux de tests.

En voici une capture d’écran :

Figure 28 : le comparateur - onglet "Time Model"

Waits :
Cet onglet s’appuie sur la vue matérialisée AWR_WAIT_EVENTS_REPORT et permet de
comparer globalement le temps passé sur chaque événement d’attente défini au sein de la
base de données.

En voici une capture d’écran (partielle, en raison du nombre élevé de colonnes) :

65



)LJXUHOHFRPSDUDWHXURQJOHW:DLWV

,,, &RQFOXVLRQ
-¶DLGRQFSXPHWWUHDXSRLQWXQRXWLOTXLSHUPHWGHUpSRQGUHjGHX[TXHVWLRQV

 3RXU FKDFXQH GHV UHTXrWHV VXVFHSWLEOHV G¶rWUH H[pFXWpHV \ DWLO UpJUHVVLRQ HQ
YHUVLRQ J GH OD EDVH GH GRQQpHV SDU UDSSRUW j OD YHUVLRQ J"  'DQV O¶RXWLO
FRPSDUDWHXU F¶HVW O¶RQJOHW ©4XHULHVª TXL QRXV SHUPHWWUD UpSRQGUH j FHWWH
TXHVWLRQHWG¶LGHQWLILHUWRXWHVOHVUHTXrWHVHQUpJUHVVLRQ
 6¶LOH[LVWHGHVUpJUHVVLRQVTXHOOHVSHXYHQWHQrWUHOHVFDXVHV",FLFHVRQWWRXVOHV
DXWUHVRQJOHWVGHODIHXLOOH([FHOTXLYRQWQRXVSHUPHWWUHGHPHQHUFHWWHUHFKHUFKH

/¶RXWLO UpSRQG SDUIDLWHPHQW DX[ H[LJHQFHV UHODWLYHV j O¶DQDO\VH GH OD QRQUpJUHVVLRQ
7RXWHIRLV O¶XQ GHV REMHFWLIV LQLWLDX[ pWDLW GH SRXYRLU XQH IRLV OD PLJUDWLRQ WHUPLQpH OH
UpXWLOLVHU SRXU VXUYHLOOHU OH FRPSRUWHPHQW GHV EDVHV GH SURGXFWLRQ HQ FRPSDUDQW SDU
H[HPSOHGHX[SpULRGHVG¶DFWLYLWpGLIIpUHQWHVVXUODPrPHEDVHGHGRQQpHV 'HFHSRLQWGH
YXH OD SOXSDUW GHV SURJUDPPHV H[WUDFWHXU DLJXLOOHXU LQFRUSRUDWHXU  HVW GpMj
RSpUDWLRQQHOOH(QUHYDQFKHOHFRPSDUDWHXUDpWpGpYHORSSp
• $YHFSRXUSULQFLSDOREMHFWLIGHFRPSDUHUOHVSHUIRUPDQFHVGHVUHTXrWHV64/
• $ILQ GH FRPSDUHU OHV YHUVLRQV J HW J GX V\VWqPH GH JHVWLRQ GH EDVHV GH
GRQQpHV 2UDFOH 3DU FRQVpTXHQW VHXOHV OHV LQIRUPDWLRQV FRPPXQHV DX[ GHX[
YHUVLRQV RQW pWp pWXGLpHV HW FRPSDUpHV 7RXWHV OHV QRXYHOOHV LQIRUPDWLRQV $:5
DMRXWpHV HQ YHUVLRQ J SRXU UDSSHO OHV WDEOHV $:5 VRQW DX QRPEUH GH  HQ
YHUVLRQJFRQWUHHQYHUVLRQJ Q¶RQWSDVpWpSULVHVHQFRPSWH

,O IDXGUD GRQF j WHUPH DGDSWHU FH SURJUDPPH DILQ TX¶LO VRLW FRPSOpWHPHQW RSpUDWLRQQHO
GDQVXQFRQWH[WHGHVXUYHLOODQFHGHVEDVHVGHGRQQpHVHQSURGXFWLRQ


 


,9/DPLJUDWLRQ

,9 /HVWHVWVGHQRQ±UpJUHVVLRQ
$ILQ G¶pYDOXHU OH SOXV SUpFLVpPHQW SRVVLEOH OHV SHUIRUPDQFHV GH O¶DSSOLFDWLRQ $FH73 QRXV
DYRQV PLV HQ SODFH XQ HQYLURQQHPHQW GH QRQUpJUHVVLRQ FDSDEOH G¶H[pFXWHU GHV WHVWV HQ
FRQQHFWDQW O¶DSSOLFDWLRQ j XQH EDVH GH GRQQpHV 2UDFOH J RX J 3DU O¶LQWHUPpGLDLUH GX
V\VWqPHGHFROOHFWHFHQWUDOLVpHGHVLQGLFDWHXUVGHSHUIRUPDQFHOHVUpVXOWDWVGHFHVWHVWVRQWSX
rWUHFRPSDUpVHWDQDO\VpV

,9 /¶HQYLURQQHPHQWJ

/HVSHFWUHGHVWHVWVUpDOLVpVDXQLYHDXGHVpTXLSHVG¶$FH73pWDQWFRPSOHWHWD\DQWSURXYpVRQ
HIILFDFLWp SDU OH SDVVp LO D pWp GpFLGp GH VH JUHIIHU j XQ HQYLURQQHPHQW GpMj H[LVWDQW SRXU
UpDOLVHUQRVWHVWVGHQRQUpJUHVVLRQ1RWUHFKRL[V¶HVWSRUWpVXUOHVWHVWVIRQFWLRQQHOV QRPPpV
HQ LQWHUQH 7HVW SDFNV  TXL VRQW GHV WHVWV IRQFWLRQQHOV DXWRPDWLTXHV GRQW OH VFHQDULR D pWp
IRXUQLSDUFKDFXQHGHVEUDQFKHVXWLOLVDQWO¶DSSOLFDWLRQ
(QHIIHWFHVWHVWVVRQWWUqVSHUWLQHQWVGDQVODPHVXUHR
• ,OV©VLPXOHQWªOHPLHX[OHFRPSRUWHPHQWUpHOGHO¶DSSOLFDWLRQ
• ,O H[LVWH XQ VFpQDULR SRXU FKDTXH EUDQFKH XWLOLVDQW $FH73 GRQF OHV WHVWV VRQW WUqV
FRPSOHWV
• ,OV VRQW ODQFp WRXWHV OHV VHPDLQHV JpQpUDOHPHQW OH VDPHGL  FH TXL HVW XQH IUpTXHQFH
TXH QRXV DYRQV MXJpH LGpDOH (Q HIIHW DSUqV OH ODQFHPHQW GHV VFHQDULL VXU OHV
GLIIpUHQWHV EUDQFKHV LO IDXW SRXYRLU DQDO\VHU OHV UpVXOWDWV XQ GpODL G¶XQH VHPDLQH
QRXVHVWDSSDUXFRPPHpWDQWUDLVRQQDEOH

(QUpDOLWpOHV7HVW3DFNVVRQWFRPSRVpVGHGHX[SDUWLHV
• /H&2% &ORVH2I%XVLQHVVGD\ VLPXOHO¶HQVHPEOHGHVWUDLWHPHQWVTXLVRQWODQFpVj
FKDTXHILQGHMRXUQpHDILQGHFO{WXUHUODMRXUQpHDXQLYHDXFRPSWDEOH
• /HVFHQDULRVLPXOHOHFRPSRUWHPHQWUpHOGHO¶DSSOLFDWLRQORUVG¶XQHSpULRGHW\SH

3RXUFKDTXHEUDQFKHOH7HVW3DFNDVVRFLpV¶DUWLFXOHFRPPHVXLW
• 1RXV GLVSRVRQV GH GHX[ FRSLHV GH EDVHV GH GRQQpHV LVVXHV GHV EDVHV GH GRQQpHV GH
SURGXFWLRQ2QOHVQRPPH©EDVHVGHUpIpUHQFHª
P 8QHSRXUOH&2%
P /DVHFRQGHSRXUOHVFpQDULR
• $XGpEXWG¶XQWHVWOHFRQWHQXGHODEDVHGHGRQQpHVGHWHVWHVWVXSSULPpSXLVDOLPHQWp
DYHFOHFRQWHQXGHODEDVHGHUpIpUHQFH&2%
• /HV VFULSWV SHUPHWWDQW GH SDVVHU OH FRQWHQX GH OD EDVH GH GRQQpHV VXU OD YHUVLRQ
DSSOLFDWLYH WHVWpH VRQW H[pFXWpV VXU OD EDVH GH GRQQpHV PRQWpH GH YHUVLRQ
DSSOLFDWLYH 
• /¶HQYLURQQHPHQWDSSOLFDWLIHVWGpPDUUp GpPDUUDJHGHZHEORJLF7LEFRHWF 
• 3XLVOHWHVWGX&2%HVWH[pFXWp$O¶LVVXHGXWHVWODFROOHFWHFHQWUDOLVpHGHVGRQQpHV
$:5HVWODQFpH H[pFXWLRQGHO¶H[WUDFWHXU 
• /HFRQWHQXGHODEDVHGHGRQQpHVGHWHVWHVWVXSSULPpSXLVDOLPHQWpDYHFOHFRQWHQX
GHODEDVHGHUpIpUHQFHVFHQDULR
• 2QHIIHFWXHODPRQWpHGHYHUVLRQDSSOLFDWLYHVXUODEDVHGHGRQQpHV
• /¶HQYLURQQHPHQWDSSOLFDWLIHVWGpPDUUp
• 3XLV OH WHVW GX VFHQDULR HVW H[pFXWp $ O¶LVVXH GX WHVW OD FROOHFWH FHQWUDOLVpH GHV
GRQQpHV$:5HVWODQFpH


 


(WDQWGRQQpTX¶XQHQYLURQQHPHQWHVWFRPSOH[HjPHWWUHHQ°XYUH LOIDXWHQHIIHWLQVWDOOHUHW
SDUDPpWUHU OHV GLIIpUHQWV FRPSRVDQWV G¶$FH73 7LEFR UHQGH]YRXV 3KDODQJHU EDVHV GH
GRQQpHVHWF HWDXVVLDILQGHQRXVDVVXUHUTXHO¶HQYLURQQHPHQWHVWULJRXUHXVHPHQWLGHQWLTXH
HQWUHXQHH[pFXWLRQPHWWDQWHQMHXXQHEDVHGHGRQQpHV2UDFOHJHWXQHDXWUHHQJQRXV
DYRQVGpFLGpGH
• &UpHUOHVEDVHVGHGRQQpHVJjO¶LGHQWLTXH PrPHVSDUDPqWUHVQRWDPPHQW TXHOHV
EDVHVH[LVWDQWHQJ
• 3HUPHWWUH DX VLPXODWHXU G¶H[pFXWHU OHV WHVWV HQ VH EUDQFKDQW VXU OD EDVH GH GRQQpHV
JRXJDXEHVRLQ

8QHQYLURQQHPHQWGHWHVWHVWFRQVWLWXpGHEDVHVGHGRQQpHV
• 8QHEDVHGHGRQQpHV/,9(
• 8QHEDVHGHGRQQpHV28=(/80

3XLVTXHQRXVGHYLRQVWHVWHUWURLVHQYLURQQHPHQWV 352'352'352' FHODQRXVD
DPHQpVjFUpHUEDVHVGHGRQQpHVSRXUO¶HQVHPEOHGHVWHVWV

3URGXFWLRQ 1RPGHODEDVH 7\SHGHEDVH
WZKϭ dWϬϭ >/s
WZKϭ dWϬϯ Kh>hD
WZKϮ dWϭϭ >/s
WZKϮ dWϭϯ Kh>hD
WZKϯ dWϮϭ >/s
WZKϯ dWϮϯ Kh>hD

7DEOHDX/HVEDVHVGHGRQQpHVFUppHVSRXUOHVWHVWVGHQRQUpJUHVVLRQ

,9 /¶RUJDQLVDWLRQ

/¶H[pFXWLRQGHVWHVWVIRQFWLRQQHOVHVWGHODUHVSRQVDELOLWpGHO¶pTXLSH,67TXLHVWHQFKDUJH
GHV GpYHORSSHPHQWV GHV RXWLOV SHUPHWWDQW G¶H[pFXWHU FHV WHVWV GX PDLQWLHQ GHV FRPSRVDQWV
G¶$FH73 KRUVEDVHGHGRQQpHV HWGHO¶H[pFXWLRQGHVWHVWV

3DUFRQVpTXHQWODUpSDUWLWLRQGXWUDYDLOVXUOHVWHVWVGHQRQUpJUHVVLRQDpWpODVXLYDQWH
• /¶pTXLSH,67DpWpFKDUJpH
P 'HSODQLILHUOHVGLIIpUHQWVWHVWV
P 'HPHWWUHjMRXUOHSURJUDPPHODQoDQWOHVWHVWVDILQ
ƒ TX¶LODSSHOOHO¶H[WUDFWHXU$:5HQILQGHWHVWV
ƒ HWTX¶LOVRLWFDSDEOHGHVHFRQQHFWHUjXQHEDVHGHGRQQpHV2UDFOHJ
DXEHVRLQ
P 'HO¶H[pFXWLRQGHVWHVWV
• /¶pTXLSH'%$TXDQWjHOOHDHXjVDFKDUJH
P /DFUpDWLRQGHVQRXYHOOHVEDVHVGHGRQQpHVVRXV2UDFOHJSHUPHWWDQWGH
UpDOLVHUFHVWHVWV
P /HGpYHORSSHPHQWHWODPDLQWHQDQFHGHO¶HQVHPEOHGHVSURJUDPPHV
FRQVWLWXDQWOHV\VWqPHGHFROOHFWHFHQWUDOLVpHGHVLQGLFDWHXUVGHSHUIRUPDQFH
P /DPDLQWHQDQFHGHVGLIIpUHQWHVEDVHVGHGRQQpHVXWLOLVpHVSRXUOHVWHVWV
P /¶DQDO\VHGHVUpVXOWDWVGHFHVWHVWVHWODFRQGXLWHGHVDFWLRQVSRXYDQWHQ
UpVXOWHU

/HVWHVWVGHQRQUpJUHVVLRQRQWSRUWpVXUO¶HQVHPEOHGHVEUDQFKHVGHO¶DSSOLFDWLRQjVDYRLU

 

Production Code Branche Ville Pays
PROD 1 DEFF Francfort Allemagne
PROD 1 FRPP Paris France
PROD 1 HUHX Budapest Hongrie
PROD 1 PLPX Varsovie Pologne
PROD 2 ITMM Milan Italie
PROD 3 AU2S Sydney Australie
PROD 3 BRSP Sao Paulo Brésil
PROD 3 HKHH Hong-Kong Hong-Kong
PROD 3 INBB Calcutta Inde
PROD 3 SGSG Singapour Singapour

Tableau 15 : Les branches sur lesquelles ont porté les tests de non-régression

Les tests sur les bases Oracle 10g ayant lieu le samedi, il a été décidé de planifier ceux sur les
bases Oracle 11g le dimanche. Cette planification est effectuée par l’équipe IST en fonction
des disponibilités des environnements et du calendrier des mises en production.

Dans un premier temps, seul l’environnement PROD2 Oracle 11g a été installé, ce qui nous a
permis (aussi bien à l’équipe IST qu’aux DBA) de bien roder le fonctionnement du
programme de lancement des Test Packs après qu’il ait été modifié.

Les tests de non-régression ont donc été exécutés selon le calendrier suivant :

Date Version AceTP Production Branches


03/02/2013 R43-A PROD 2 ITMM
10/02/2013 R43-B PROD 2 ITMM
17/02/2013 R43-C PROD 2 ITMM
24/02/2013 R43-CP2 PROD 2 ITMM
03/03/2013 R43-CP3 PROD 2 ITMM
10/03/2013 R43-CP4 PROD 2 ITMM
17/03/2013 R43-CP5 PROD 2 ITMM
24/03/2013 R43-CP6 PROD 2 ITMM
31/03/2013 R44-C PROD3 AU2S, BRSP, HKHH, INBB, SGSG
14/04/2013 R44-CP1 PROD3 AU2S, BRSP, HKHH, INBB, SGSG
21/04/2013 R44-CP2 PROD1 DEFF, HUHX, PLPX
21/04/2013 R44-CP2 PROD2 ITMM
21/04/2013 R44-CP2 PROD3 AU2S, BRSP, HKHH, INBB, SGSG
28/04/2013 R44-CP3 PROD1 DEFF, HUHX, PLPX
28/04/2013 R44-CP3 PROD2 ITMM
28/04/2013 R44-CP3 PROD3 AU2S, BRSP, HKHH, INBB, SGSG
05/05/2013 R44-CP4 PROD2 ITMM
05/05/2013 R44-CP4 PROD3 AU2S, BRSP, HKHH, INBB, SGSG
12/05/2013 R44-CP5 PROD2 ITMM
12/05/2013 R44-CP5 PROD3 AU2S, BRSP, HKHH, INBB, SGSG
19/05/2013 R44-CP7 PROD1 DEFF, HUHX, PLPX
26/05/2013 R44-CP7 PROD3 AU2S, BRSP, HKHH, INBB, SGSG
26/05/2013 R44-CP8 PROD1 DEFF, HUHX, PLPX
69

'DWH 9HUVLRQ$FH73 3URGXFWLRQ %UDQFKHV
 5&3 352' '())+8+;3/3;
 5&3 352' $86%563+.++,1%%6*6*
 5&3 352' ,700
 5% 352' '())+8+;3/3;
 5& 352' '())+8+;3/3;
 5& 352' ,700
 5& 352' $86%563+.++,1%%6*6*
 5' 352' '())+8+;3/3;
 5' 352' $86%563+.++,1%%6*6*
 5&3 352' '())+8+;3/3;)533
 5&3 352' $86%563+.++,1%%6*6*
 5&3 352' '())+8+;3/3;)533
 5&3 352' $86%563+.++,1%%6*6*
 5&3 352' '())+8+;3/3;)533
 5&3 352' ,700
 5&3 352' '())+8+;3/3;)533
 5&3 352' ,700
 5&3 352' $86%563+.++,1%%6*6*
 5& 352' '())+8+;3/3;)533
 5& 352' ,700
 5& 352' $86%563+.++,1%%6*6*
 5' 352' '())+8+;3/3;)533
 5' 352' ,700
 5' 352' $86%563+.++,1%%6*6*
 5&3 352' '())+8+;3/3;)533
 5'3 352' $86%563+.++,1%%6*6*
 5'3 352' $86%563+.++,1%%6*6*
 5'3 352' '())+8+;3/3;)533
 5'3 352' ,700
 5'3 352' $86%563+.++,1%%6*6*
 5'3 352' ,700
 5'3 352' $86%563+.++,1%%6*6*

7DEOHDXSODQLILFDWLRQGHVWHVWVGHQRQUpJUHVVLRQ


,9 /HVUpVXOWDWV

0DOJUp WRXW OH VRLQ DSSRUWp j OD FUpDWLRQ GHV EDVHV GH GRQQpHV2UDFOH J LO HVW WRWDOHPHQW
LPSRVVLEOHG¶REWHQLUGHVEDVHVGHGRQQpHVFRPSOqWHPHQWLGHQWLTXHVjFHOOHVH[LVWDQWHQJ
PrPHVLHOOHVFRQWLHQQHQWOHVPrPHVGRQQpHVPpWLHU(QHIIHW
• 1RXV Q¶DYRQV DXFXQ FRQWU{OH VXU OH VWRFNDJH SK\VLTXH 1RXV GpILQLVVRQV GHV
WDEOHVSDFHVOHXUDOORXRQVXQRXSOXVLHXUVILFKLHUVGHGRQQpHVPDLVQRXVQHSRXYRQV
SDV FRQWU{OHU OD IDoRQ GRQW OD EDVH GH GRQQpHV YD SODFHU OHV GRQQpHV DX VHLQ GH FHV
ILFKLHUVGHGRQQpHV
• /HVGLVTXHVXWLOLVpVPrPHV¶LOVVRQWGHTXDOLWppTXLYDOHQWHHWVXUXQQLYHDXGH5$,'
LGHQWLTXHSHXYHQWDYRLUGHVSHUIRUPDQFHVOpJqUHPHQWGLYHUJHQWHV

 


• /HV EDVHV GH GRQQpHV pWDQW KpEHUJpHV VXU GHV PDFKLQHV VXU OHVTXHOOHV VRQW LQVWDOOpV
G¶DXWUHVSURJLFLHOVHWG¶DXWUHVEDVHVGHGRQQpHVOHXUFRPSRUWHPHQWSHXWrWUHLQIOXHQFp
SDUO¶DFWLYLWpGHFHVpOpPHQWV

&¶HVW SRXUTXRL LO QRXV D IDOOX GDQV XQ SUHPLHU WHPSV GpILQLU XQH PDUJH G¶pFDUW XQLWDLUH
DFFHSWDEOH HQWUH OHV UpVXOWDWV REWHQXV VXU 2UDFOH J HW FHX[ REWHQXV VXU 2UDFOH J 1RWUH
FKRL[V¶HVWSRUWpVXUOHVPDUJHVVXLYDQWHV
• 8QWHPSVG¶pPHGHVHFRQGHHVWDFFHSWDEOHjODFRQGLWLRQTXHOHSODQG¶H[pFXWLRQ
HVWLGHQWLTXHHQWUHOHVGHX[YHUVLRQV
• 6LOHSODQG¶H[pFXWLRQFKDQJHHQWUHOHVGHX[YHUVLRQVODPDUJHDFFHSWDEOHHVWIL[pHj
pPHGHVHFRQGH

/HV UpVXOWDWV DJUpJpV VRQW SUpVHQWpV GDQV OH WDEOHDX FLGHVVRXV OHV UpVXOWDWV FRPSOHWV SDU
EUDQFKH pWDQWSURSRVpVHQDQQH[H
/HVUHTXrWHVFDSWXUpHVSHQGDQWO¶H[pFXWLRQGHVWHVWVRQWpWpGLYLVpHVHQFDWpJRULHV
• &HOOHVSRXUOHVTXHOOHVOHWHPSVXQLWDLUHPR\HQHVWPHLOOHXUHQJTX¶HQJ FRORQQH
©Vª 
&RQFHUQDQWOHVTXDWUHFDWpJRULHVVXLYDQWHVOHWHPSVHVWPRLQVERQVRXV2UDFOHJTX¶HQ
YHUVLRQJ
• &HOOHV TXL HQWUHQW GDQV OD SOXV UHVWULFWLYH GHV PDUJHV F¶HVWjGLUH TXH OD GLIIpUHQFH
HQWUH OH WHPSV PR\HQ HQ J HW  OH WHPSV PR\HQ HQ J HVW LQIpULHXU j  V 
FRORQQH©(QWUHHWVª
• &HOOHVTXLVRQWDFFHSWDEOHV FRORQQH©$FFHSWDEOHª FDU
P /D GLIIpUHQFH HQWUH OH WHPSV PR\HQ HQ J HW  OH WHPSV PR\HQ HQ J HVW
LQIpULHXUHjV HWVXSpULHXUHjV 
P 0DLVOHSODQG¶H[pFXWLRQQ¶DSDVFKDQJpHQWUHOHVGHX[YHUVLRQV
• &HOOHVTXLQHVRQWSDVDFFHSWDEOHV FRORQQH©1RQDFFHSWDEOHª 
P /D GLIIpUHQFH HQWUH OH WHPSV PR\HQ HQ J HW  OH WHPSV PR\HQ HQ J HVW
LQIpULHXUHjV0$,6OHSODQG¶H[pFXWLRQDFKDQJp
P 2XODGLIIpUHQFHGHWHPSVHVWVXSpULHXUHjV
• &HOOHVTXLQHVRQWSDVDFFHSWDEOHVDYHFXQHGLIIpUHQFHGHWHPSVHQWUHODYHUVLRQJHW
ODYHUVLRQJVXSpULHXUjXQGL[LqPHGHVHFRQGHFRORQQH©!Vª

/¶REMHFWLI G¶XQH WHOOH FODVVLILFDWLRQ pWDLW GH IDLUH UHVVRUWLU UDSLGHPHQW OHV UHTXrWHV VXU
OHVTXHOOHVQRXVGHYLRQVWUDYDLOOHUHQSULRULWp O¶RUGUHGHSULRULWpSDUWDQWGHVFRORQQHVGHGURLWH
GXWDEOHDXYHUVFHOOHVGHJDXFKH 



 

Pourcentage de requêtes selon la différence unitaire entre 10g et 11g
Date Version Production Branches <0s Entre 0 et 0,001 s Acceptable Non acceptable > 0,1 s
03/02/2013 R43-A PROD2 ITMM 15 35 31 9 10
10/02/2013 R43-B PROD2 ITMM 13 33 31 11 12
17/02/2013 R43-C PROD2 ITMM 12 31 30 10 17
24/02/2013 R43-CP2 PROD2 ITMM 20 31 31 8 10
03/03/2013 R43-CP3 PROD2 ITMM 22 27 31 10 10
10/03/2013 R43-CP4 PROD2 ITMM 25 29 29 9 8
17/03/2013 R43-CP5 PROD2 ITMM 25 30 26 11 8
24/03/2013 R43-CP6 PROD2 ITMM 26 30 25 10 9
31/03/2013 R44-C PROD3 AU2S, BRSP, HKHH, INBB, SGSG 25,2 28,8 23,8 11,2 11
14/04/2013 R44-CP1 PROD3 AU2S, BRSP, HKHH, INBB, SGSG 26,2 30,2 23,2 10,2 10,2
21/04/2013 R44-CP2 PROD1 DEFF, HUHX, PLPX 29 32 20,3 10,6 8,1
21/04/2013 R44-CP2 PROD2 ITMM 28 35 20 12 5
21/04/2013 R44-CP2 PROD3 AU2S, BRSP, HKHH, INBB, SGSG 28 32,4 20,2 11,4 8
28/04/2013 R44-CP3 PROD1 DEFF, HUHX, PLPX 29,6 31 21 10,6 7,8
28/04/2013 R44-CP3 PROD2 ITMM 29 34 19 12 6
28/04/2013 R44-CP3 PROD3 AU2S, BRSP, HKHH, INBB, SGSG 28,2 32,4 20,2 11,4 7,8
05/05/2013 R44-CP4 PROD2 ITMM 52 26 16 3 3
05/05/2013 R44-CP4 PROD3 AU2S, BRSP, HKHH, INBB, SGSG 51,2 27,2 15,4 4,6 1,6
12/05/2013 R44-CP5 PROD2 ITMM 51 25 19 4 1
12/05/2013 R44-CP5 PROD3 AU2S, BRSP, HKHH, INBB, SGSG 52,8 22,8 19,2 4 1,2
19/05/2013 R44-CP7 PROD1 DEFF, HUHX, PLPX 50 24,3 21 3,3 1,4
26/05/2013 R44-CP7 PROD3 AU2S, BRSP, HKHH, INBB, SGSG 52,6 22,2 17,6 5 2,6
26/05/2013 R44-CP8 PROD1 DEFF, HUHX, PLPX 51,3 21 19,6 5,6 2,5
02/06/2013 R44-CP9 PROD1 DEFF, HUHX, PLPX 53 22,7 19,7 3,6 1
02/06/2013 R44-CP9 PROD3 AU2S, BRSP, HKHH, INBB, SGSG 53 22,75 20 3,25 1
09/06/2013 R44-CP9 PROD2 ITMM 53 22 23 1 1
09/06/2013 R45-B PROD1 DEFF, HUHX, PLPX 54,3 22,3 20,3 2,7 0,4
16/06/2013 R45-C PROD1 DEFF, HUHX, PLPX 54 21,3 21 3 0,7
23/06/2013 R45-C PROD2 ITMM 55 24 21 0 0

72
23/06/2013 R45-C PROD3 AU2S, BRSP, HKHH, INBB, SGSG 53 22,6 21,4 0,8 2,2
07/07/2013 R45-D PROD1 DEFF, HUHX, PLPX 54 24 20,3 1 0,7
07/07/2013 R45-D PROD3 AU2S, BRSP, HKHH, INBB, SGSG 56 25,4 18,6 0 0
14/07/2013 R45-CP4 PROD1 DEFF, HUHX, PLPX, FRPP 61 22,75 16,25 0 0
14/07/2013 R45-CP4 PROD3 AU2S, BRSP, HKHH, INBB, SGSG 63,75 21,25 15 0 0
21/07/2013 R45-CP5 PROD1 DEFF, HUHX, PLPX, FRPP 63 20,3 16,7 0 0
21/07/2013 R45-CP5 PROD3 AU2S, BRSP, HKHH, INBB, SGSG 62,4 20,2 17,4 0 0
28/07/2013 R45-CP6 PROD1 DEFF, HUHX, PLPX, FRPP 63,25 19,25 17,5 0 0
28/07/2013 R45-CP6 PROD2 ITMM 64 19 17 0 0
11/08/2013 R45-CP7 PROD1 DEFF, HUHX, PLPX, FRPP 62,5 19,75 17,75 0 0
11/08/2013 R45-CP7 PROD2 ITMM 64 18 18 0 0
11/08/2013 R45-CP7 PROD3 AU2S, BRSP, HKHH, INBB, SGSG 64,8 19 16,2 0 0
18/08/2013 R45-CP8 PROD1 DEFF, HUHX, PLPX, FRPP 64,6 20 15,4 0 0
18/08/2013 R45-CP8 PROD2 ITMM 65 20 15 0 0
18/08/2013 R45-CP8 PROD3 AU2S, BRSP, HKHH, INBB, SGSG 65,6 19,4 15 0 0
25/08/2013 R46-C PROD2 ITMM 67 20 13 0 0
25/08/2013 R46-C PROD3 AU2S, BRSP, HKHH, INBB, SGSG 66,4 20,2 13,4 0 0
01/09/2013 R46-D PROD 1 DEFF, HUHX, PLPX, FRPP 68 19,5 12,5 0 0
01/09/2013 R46-D PROD2 ITMM 66 21 13 0 0
01/09/2013 R46-D PROD3 AU2S, BRSP, HKHH, INBB, SGSG 67,4 19,2 13,4 0 0
08/09/2013 R46-DP1 PROD3 AU2S, BRSP, HKHH, INBB, SGSG 71,6 16,8 11,6 0 0
15/09/2013 R46-DP2 PROD3 AU2S, BRSP, HKHH, INBB, SGSG 71,5 17,5 11 0 0
06/10/2013 R46-DP3 PROD 1 DEFF, HUHX, PLPX, FRPP 73,25 16,25 10,5 0 0
06/10/2013 R46-DP3 PROD2 ITMM 72 16 12 0 0
06/10/2013 R46-DP3 PROD3 AU2S, BRSP, HKHH, INBB, SGSG 73,2 15 11,8 0 0
13/10/2013 R46-DP4 PROD2 ITMM 74 13 13 0 0
13/10/2013 R46-DP4 PROD3 AU2S, BRSP, HKHH, INBB, SGSG 74,2 14,4 11,4 0 0

Tableau 17 : Résultats agrégés des tests de non - régression

73


,9 /HVDFWLRQVPHQpHV

,9 3UHPLqUHVDFWLRQV


'qVOHVSUHPLHUVWHVWVOHWDX[GHUHTXrWHVSRXUOHVTXHOOHVQRXVSRXYLRQVFRQVLGpUHUODQRQ
UpJUHVVLRQFRPPHUpHOOHpWDLWGHO¶RUGUHGH3DUH[HPSOHOHSUHPLHUWHVWHIIHFWXpOH
IpYULHUFRPSRUWDLWGHUHTXrWHVGRQWOHWHPSVG¶H[pFXWLRQpWDLWDFFHSWDEOH
1RXV DYRQV SX GqV ORUV WUDYDLOOHU VXU O¶HQVHPEOH GHV UHTXrWHV SRXU OHVTXHOOHV XQH
UpJUHVVLRQpWDLWFRQVWDWpHDILQG¶LGHQWLILHUOHVFDXVHVGHFHWWHUpJUHVVLRQ

/HV SUHPLHUV WHVWV GX  IpYULHU DX  PDUV QH VRQW WRXWHIRLV SDV SDUWLFXOLqUHPHQW
VLJQLILFDWLIV GDQV OD PHVXUH R LOV RQW pWp HIIHFWXpV GXUDQW OD SpULRGH GLWH GH URGDJH GX
GLVSRVLWLIGHQRQUpJUHVVLRQ'XUDQWFHWWHSpULRGHO¶pTXLSH'%$V¶HVWFKDUJpHGHFRUULJHU
OHVSUHPLqUHVFDXVHVGHVGLIIpUHQFHVHQWUHOHVGHX[YHUVLRQVGHEDVH
• $ OD FUpDWLRQ GH OD EDVH GHV WUDYDX[ DXWRPDWLTXHV MREV  GH PDLQWHQDQFH 2UDFOH
DYDLHQWpWpFUppVDXWRPDWLTXHPHQW FDOFXOGHVVWDWLVWLTXHVQRWDPPHQW LOV¶DYqUH
TXHFHVMREVVHGpFOHQFKDLHQWSHQGDQWOHVWHVWVGHQRQUpJUHVVLRQFHTXLUDOHQWLVVDLW
FHVWHVWV1RXVDYRQVGRQFPRGLILpO¶KHXUHGHGpFOHQFKHPHQWGHFHVMREV
• /HVILFKLHUVGHGRQQpHVGHODEDVHGHGRQQpHVGHO¶HQYLURQQHPHQW352'DYDLHQW
pWp FUppV VXU GHV GLVTXHV SHX SHUIRUPDQWV 1RXV DYRQV GRQF G€ DSUqV O¶DYRLU
FRQVWDWp OHV GpSODFHU VXU GHV GLVTXHV pTXLYDOHQWV j FHX[ XWLOLVpV SRXU OHV EDVHV
2UDFOHJ

0DLVO¶DFWLRQODSOXVVSHFWDFXODLUH HQWHUPHVGHUpVXOWDWVREWHQXV DpWpOHSRVLWLRQQHPHQW
GHO¶pYpQHPHQW


,9 0LVHHQSODFHGHO¶pYpQHPHQW

2QSRVLWLRQQHXQpYpQHPHQWDXVHLQG¶XQHEDVHGHGRQQpHV2UDFOHDILQTXHFHOOHFL
• JpQqUH XQ ILFKLHU GH YLGDJH GX FRQWHQX GH OD PpPRLUH ORUVTXH O¶pYpQHPHQW VH
SURGXLW pYpQHPHQWVGHFODVVH 
• RXJpQqUHXQHHUUHXUORUVTXHO¶pYqQHPHQWVHSURGXLW pYpQHPHQWVGHFODVVH 
• RXFKDQJHOHFKHPLQG¶H[pFXWLRQSRXUXQpYqQHPHQWSUpFLV pYqQHPHQWVGHFODVVH
 
• RXJpQqUHXQILFKLHUGHWUDFHSRXUXQW\SHG¶RUGUH64/ pYqQHPHQWVGHFODVVH 

$YDQWODYHUVLRQJORUVGHODOHFWXUHG¶XQHQVHPEOHLPSRUWDQWGHOLJQHVVXUGLVTXH SDU
H[HPSOHORUVTX¶RQOLWO¶HQVHPEOHG¶XQHWDEOHDVVH]YROXPLQHXVH O¶HQVHPEOHGHFHVOLJQHV
HVWPLVHQFDFKHGHGRQQpHV 'DWDEDVHEXIIHUFDFKH 3RXUFHOD2UDFOH©pMHFWHªG¶DXWUHV
OLJQHVSOXVDQFLHQQHVGHFHFDFKHV¶LODEHVRLQGHSODFH(QYHUVLRQJO¶DOJRULWKPHDpWp
UHYXSDU2UDFOH6LO¶HQVHPEOHGHVOLJQHVOXHVUHSUpVHQWHSOXVGHGHODWDLOOHGXFDFKH
DORUVODOHFWXUHVHIDLWGLUHFWHPHQWGXGLVTXHYHUVOHSURFHVVXVVHUYHXU HWVDPpPRLUH3*$
TXLHVWUDSSHORQVOHSULYDWLYH 
/¶LQWpUrWGHFHFKDQJHPHQWG¶DOJRULWKPHHVWG¶DPpOLRUHUO¶HIILFDFLWpGXFDFKHGHGRQQpHV
TXL Q¶HVW DLQVL SDV ©SROOXpª SDU XQH VHXOH WDEOH TXL O¶RFFXSH HQ HQWLHU SDU H[HPSOH 
0DLV FHOD D XQ HIIHW ORUVTXH SOXVLHXUV VHVVLRQV YRQW FRQVXOWHU VLPXOWDQpPHQW OHV PrPHV
GRQQpHVFDUFHVVHVVLRQVYRQWWRXWHVDFFpGHUDXGLVTXHHWQHYRQWSDVSRXYRLUSDUWDJHUOHV
LQIRUPDWLRQVSDUO¶LQWHUPpGLDLUHGXFDFKH

 


$\DQW FRQVWDWp TXH SRXU FHUWDLQHV UHTXrWHV LO \ DYDLW EHDXFRXS SOXV G¶DFFqV DX[ GLVTXHV
VRXV 2UDFOH J SDU UDSSRUW j OD YHUVLRQ J QRXV DYRQV HIIHFWXp XQH UHFKHUFKH GDQV
O¶LQWHUIDFH GH FRQVXOWDWLRQ GX VXSSRUW 2UDFOH QRXV DYRQV WURXYp OD QRWH 
©+LJKHU
GLUHFWSDWKUHDG
:DLWVLQJZKHQ&RPSDUHGWRJª TXLGpFULWFHSUREOqPH
HWH[SOLTXHFRPPHQWOHFRQWRXUQHU,OIDXWSRVLWLRQQHUSDUPLOHVSDUDPqWUHVO¶pYpQHPHQW
TXLHVWGHFODVVH

ƒŽ–‡”•›•–‡•‡–‡˜‡–•ɐɨɥɰɫɰ–”ƒ…‡ƒ‡…‘–‡š–ˆ‘”‡˜‡”řŽ‡˜‡ŽɨɐŚ

&HODDSRXUHIIHWTXHODEDVHGHGRQQpHV2UDFOHJXWLOLVHSRXUOHVOHFWXUHVG¶HQVHPEOHV
LPSRUWDQWVGHGRQQpHVO¶DOJRULWKPHTXLpWDLWXWLOLVpDXSDUDYDQW

1RXV DYRQV SRVLWLRQQp FHW pYpQHPHQW DYDQW OHV WHVWV GX  PDL  HW DYRQV
LPPpGLDWHPHQWYXGHVUpVXOWDWVVSHFWDFXODLUHVSXLVTXHOHWDX[GHUHTXrWHVDFFHSWDEOHVHVW
SDVVpGHjHWOHWDX[GHUHTXrWHVSOXVUDSLGHVHQJHVWSDVVpGHj


,9 5pJODJHGHVUHTXrWHVHQUpJUHVVLRQ

3URJUHVVLYHPHQWO¶pTXLSH'%$DHQVXLWHWUDYDLOOpVXUO¶HQVHPEOHGHVUHTXrWHVTXLpWDLHQW
HQFRUHHQUpJUHVVLRQDILQGHOHVRSWLPLVHUSRXUODQRXYHOOHYHUVLRQDILQG¶REWHQLUXQWDX[
GH   GH UHTXrWHV DFFHSWDEOHV GRQW SOXV GH   SOXV UDSLGHV GDQV OD QRXYHOOH
YHUVLRQ 

/HV RSpUDWLRQV PHQpHV j FHW HIIHW RQW HX G¶DLOOHXUV GHV HIIHWV TXL RQW pWp LPPpGLDWHPHQW
EpQpILTXHVVXUOHVWHVWV2UDFOHJ
• &UpDWLRQG¶LQGH[HV DXWRWDO 
• $MRXWGXFDOFXOGHVWDWLVWLTXHVVXUFHUWDLQHVFRORQQHV  
• 5ppFULWXUHGHUHTXrWHV   

$O¶LVVXHGHVWHVWVGXLODpWpGpFLGpG¶DUUrWHUOHVWHVWVGHQRQUpJUHVVLRQFDU
QRXVDYRQVHVWLPpTXHODQRQUpJUHVVLRQpWDLWFRQVWDWpH

,9 /DPLJUDWLRQGHVEDVHVGHGRQQpHVGLVWDQWHV
/HVEDVHVGHGRQQpHVGXSURMHW$FH73VRQWGHGHX[W\SHV
• &HOOHV GH GpYHORSSHPHQW HW GH WHVWV ©ORFDX[ª VRQW LQVWDOOpHV VXU GHV PDFKLQHV
DSSDUWHQDQWDXSURMHWHWJpUpHVSDUO¶pTXLSH,67HWGRQWODPLJUDWLRQDpWpUpDOLVpH
SDUPHVVRLQV
• &HOOHVG¶8$7GHSUpSURGXFWLRQHWGHSURGXFWLRQVRQWKpEHUJpHVHWJpUpHVSDUXQH
HQWLWpH[WHUQHDXSURMHW,73 ,QIRUPDWLTXH7HFKQRORJLHVHW3URFHVVXV 

3DU FRQVpTXHQW F¶HVW DX[ '%$ GH FHWWH pTXLSH GH UpDOLVHU OD PLJUDWLRQ GHV EDVHV GH
GRQQpHVTX¶LOVKpEHUJHQW&HSHQGDQWLODpWpFRQYHQXHQWUHO¶pTXLSHSURMHW$FH73HW,73
TXHO¶pTXLSHGHV'%$GXSURMHW$FH73GHYDLWSURGXLUHXQHH[SUHVVLRQGHEHVRLQVDILQGH
GpILQLUQRWDPPHQW
• /H SpULPqWUH GH OD PLJUDWLRQ EDVHV GH GRQQpHV FRQFHUQpHV UHVSRQVDELOLWpV GH
FKDFXQHGHVpTXLSHV

 



• /¶RUJDQLVDWLRQGHODPLJUDWLRQpWDSHVSUpDODEOHVjUpDOLVHU SDUH[HPSOHV\VWqPHV
GH ILFKLHUV j FUpHU  PpWKRGH GH PLJUDWLRQ SDUDPqWUHV GH EDVH GH GRQQpHV j
SRVLWLRQQHUVDXYHJDUGHVjUpDOLVHU
• /HSODQQLQJGHODPLJUDWLRQ


,9 /HSpULPqWUHGHODPLJUDWLRQ

/DPLJUDWLRQFRQFHUQHEDVHVGHGRQQpHVUpSDUWLHVVXUVHUYHXUV
• EDVHVFRQVDFUpHVDX[WHVWVGHSHUIRUPDQFHV
• EDVHVGpGLpHVDX[WHVWVUpDOLVpVHQ,QGH
• EDVHVGpGLpHVDX[8$7
• EDVHVGLWHV%$8 EDVHVFRQWHQDQWOHFRQWHQXGHODEDVHGHGRQQpHVGHODYHLOOH 
• EDVHVGHGRQQpHVGHSUpSURGXFWLRQ
• EDVHVGHGRQQpHVGHSURGXFWLRQ

6HUYHXU 7\SH 352' 1RP 7\SH 1RP
WLWKV 7(676 352' '6/ /,9( $73$$5
,1'(
WLWKV 7(676 352' '6/ 28=(/80 $73$$5
,1'(
WLWKV 8$7 352' 86/ /,9( $73$$5
WLWKV 8$7 352' 86/ +,6725,&$/ $73$$5
WLWKV 8$7 352' 86/ 28=(/80 $73$$5
WLWKV 8$7 352' +6/ /,9( $73$$5
WLWKV 8$7 352' +6/ 28=(/80 $73$$5
WLWKV 8$7 352' 06/ /,9( $73$$5
WLWKV 8$7 352' 06/ 28=(/80 $73$$5
WLWKV 8$7 352' 8,5 /,9( $73(85
WLWKV 8$7 352' 8,5 28=(/80 $73(85
WLWKV 8$7 352' +,5 /,9( $73:'+
WLWKV 8$7 352' +,5 28=(/80 $73:'+
WLWKV 8$7 352' 0'' /,9( $73(85
WLWKV 8$7 352' 0'' 28=(/80 $73(85
WLWKV 8$7 352' +'( /,9( $73(85
WLWKV 8$7 352' +'( 28=(/80 $73(85
WLWKV 8$7 352' 0,, /,9( $73(80
WLWKV 8$7 352' 0,, 28=(/80 $73(80
WLWKV 8$7 352' +,7 /,9( $73(85
WLWKV 8$7 352' +,7 28=(/80 $73(85
WLWKV 3(5)  3)* /,9( $73:'5
WLWKV 3(5)  3)* +,6725,&$/ $73:'5
WLWKV 3(5)  3)* 28=(/80 $73:'5
WLWKV 35(352' 352' 35(352' /,9( $73(8;
WLWKV 35(352' 352' 35(352' +,6725,&$/ $73(8;
WLWKV 35(352' 352' 35(352' 28=(/80 $73(8;
WLWKV 35(352' 352' 35(352' +,6725,&$/ $73$$;

 

Serveur Type PROD Nom Type Nom
tiths324 PREPROD PROD3 PREPROD OUZELUM ATPAAX23
tiths325 PREPROD PROD1 PREPROD HISTORICAL ATPEUX02
tiths325 PREPROD PROD1 PREPROD OUZELUM ATPEUX03
tiths325 PREPROD PROD2 PREPROD LIVE ATPEUX11
tiths325 PREPROD PROD3 PREPROD LIVE ATPAAX21
tiths326 BAU PROD1 BAU LIVE ATPEUB01
tiths326 BAU PROD1 BAU HISTORICAL ATPEUB02
tiths326 BAU PROD1 BAU OUZELUM ATPEUB03
tiths326 BAU PROD2 BAU LIVE ATPEUB11
tiths326 BAU PROD3 BAU LIVE ATPAAB21
tiths326 BAU PROD4 BAU LIVE ATPWDB31
tiths328 TESTS PROD1 DID LIVE ATPEUI07
INDE
tiths328 TESTS PROD1 DID OUZELUM ATPEUI09
INDE
tiths328 UAT PROD1 UDE LIVE ATPEUR60
tiths328 UAT PROD1 UDE HISTORICAL ATPEUR61
tiths328 UAT PROD1 UDE OUZELUM ATPEUR62
tiths328 UAT PROD1 UFR LIVE ATPEUR80
tiths328 UAT PROD1 UFR OUZELUM ATPEUR82
tiths329 TESTS PROD2 DII LIVE ATPEUI10
INDE
tiths329 TESTS PROD2 DII OUZELUM ATPEUI12
INDE
tiths329 UAT PROD2 UIT LIVE ATPEUR20
tiths329 UAT PROD2 UIT HISTORICAL ATPEUR21
tiths329 UAT PROD2 UIT OUZELUM ATPEUR22
tiths515 PROD PROD1 PROD HISTORICAL ATPEUP02
tiths515 PROD PROD1 PROD OUZELUM ATPEUP03
tiths515 PROD PROD2 PROD LIVE ATPEUP11
tiths515 PROD PROD3 PROD LIVE ATPAAP21
tiths515 PROD PROD4 PROD LIVE ATPWDP31
tiths516 PROD PROD1 PROD LIVE ATPEUP01
tiths516 PROD PROD2 PROD HISTORICAL ATPEUP12
tiths516 PROD PROD2 PROD OUZELUM ATPEUP13
tiths516 PROD PROD3 PROD HISTORICAL ATPAAP22
tiths516 PROD PROD3 PROD OUZELUM ATPAAP23
tiths516 PROD PROD4 PROD OUZELUM ATPWDP33
Tableau 18 : les bases de données à migrer

IV.2.2 L’organisation de la migration

Dans un premier temps, il a fallu choisir la méthode de migration des bases de données. Il
existe en effet trois possibilités :

77


• 8WLOLVHUO¶DVVLVWDQWGHPLJUDWLRQIRXUQLSDU2UDFOH 'DWDEDVH8SJUDGH$VVLVWDQWRX
'%8$   LO V¶DJLW G¶XQ RXWLO JUDSKLTXH TXL JXLGH OH '%$ GDQV OH SURFHVVXV GH
PLJUDWLRQ
• 5pDOLVHU OD PLJUDWLRQ PDQXHOOHPHQW FHOD FRQVLVWH j H[pFXWHU XQ HQVHPEOH GH
WkFKHVHQOLJQHVGHFRPPDQGHV FHVWkFKHVpWDQWWUqVELHQGRFXPHQWpHVSDU2UDFOH 
• &UpHUXQHQRXYHOOHEDVHGHGRQQpHV2UDFOHJHWO¶DOLPHQWHUjSDUWLUG¶XQH[SRUW
GHVGRQQpHVGHODEDVH2UDFOHJ

&KDTXHPpWKRGHDVHVDYDQWDJHVHWLQFRQYpQLHQWV

0pWKRGH $YDQWDJHV ,QFRQYpQLHQWV
$VVLVWDQWGHPLJUDWLRQ 0pWKRGH WUqV VLPSOH j ,PSRVH FHUWDLQV SDUDPqWUHV
PHWWUHHQ°XYUH HWMREV
0pWKRGHPDQXHOOH /DLVVH OH '%$ GDYDQWDJH 0pWKRGHXQSHXIDVWLGLHXVH
PDLWUHGXSDUDPpWUDJH 
0pWKRGH PDLWULVpH SDU OHV
'%$ G¶,73 SXLVTX¶LOV O¶RQW
GpMj XWLOLVpH SRXU G¶DXWUHV
SURMHWV
1RXYHOOHEDVH 0pWKRGH DVVH] VLPSOH j 0pWKRGH WUqV ORQJXH WHPSV
PHWWUHHQ°XYUH GH O¶LPSRUW  WHPSV GH
3HUPHW GH FUpHU OD QRXYHOOH O¶H[SRUW 
EDVHGHGRQQpHVVXUXQDXWUH 1pFHVVLWH EHDXFRXS
VHUYHXUTXHO¶DQFLHQQH G¶HVSDFHGLVTXH

7DEOHDXOHVPpWKRGHVGHPLJUDWLRQ

&RPSWHWHQXGHFHVSDUDPqWUHVHWSXLVTX¶LOV¶DJLWG¶XQHPpWKRGHTXHWRXWOHPRQGH DXVVL
ELHQ OHV '%$ GH O¶pTXLSH SURMHW $FH73 TXH FHX[ G¶,73  PDLWULVH ELHQ F¶HVW OD PpWKRGH
PDQXHOOHTXLDpWpFKRLVLH

(Q FH TXL FRQFHUQH O¶RUJDQLVDWLRQ GH FKDTXH PLJUDWLRQ QRXV DYRQV GpFLGp GH QRXV
RUJDQLVHUDLQVL
• 7RXWHV OHV EDVHV GH GRQQpHV G¶XQ HQYLURQQHPHQW VRQW PLJUpHV OHPrPH MRXU XQH
PLJUDWLRQSUHQDQWDXPD[LPXPGHX[KHXUHV±VDXISUREOqPH±ODPLJUDWLRQGHWURLV
EDVHVPD[LPXPHQXQHMRXUQpHQHSRVHSDVGHSUREOqPH 
• 4XHOTXHV MRXUV DYDQW OD PLJUDWLRQ GHV EDVHV GH GRQQpHV G¶XQ HQYLURQQHPHQW
O¶pTXLSH,67HVWHQFKDUJHGHSUpYHQLUOHVXWLOLVDWHXUVGHO¶HQYLURQQHPHQWTXHFHOXL
FLVHUDLQGLVSRQLEOHSHQGDQWXQHMRXUQpH
/HMRXUGHODPLJUDWLRQ
• /¶pTXLSH,67HVWFKDUJpHG¶DUUrWHUOHVFRPSRVDQWVGHO¶HQYLURQQHPHQW
• /¶pTXLSH'%$SURMHW$FH73UpDOLVH HQVXLWHXQHVDXYHJDUGHGXFRQWHQX GHVEDVHV
GHGRQQpHVjPLJUHU FHFLDILQGHSRXYRLUUHVWDXUHUFHFRQWHQXHQFDVGHSUREOqPH
DXFRXUVGHODPLJUDWLRQ SXLVGRQQHVRQIHXYHUWDX['%$G¶,73
• &HVGHUQLHUVUpDOLVHQWHQVXLWHO¶HQVHPEOHGHVPLJUDWLRQV
• 3XLV O¶pTXLSH '%$ SURMHW $FH73 UpDOLVH XQH QRXYHOOH VDXYHJDUGH GX FRQWHQX GHV
EDVHVPLJUpHV
• (QILQ O¶pTXLSH ,67 UHGpPDUUH O¶HQYLURQQHPHQW HW SUpYLHQW OHV XWLOLVDWHXUV GH FH
UHGpPDUUDJH

 



,9 /HSODQQLQJGHODPLJUDWLRQ

&HSODQQLQJDpWpUpDOLVpHQWHQDQWFRPSWHGHGLYHUVHVFRQWUDLQWHV
• /HSODQQLQJGHV'%$G¶,73TXLJqUHQWOHVEDVHVGHGRQQpHVG¶DXWUHVSURMHWV
• /DGLVSRQLELOLWpGHVHQYLURQQHPHQWV
• /HVFRQWUDLQWHVOLpHVDXJHOGHVRSpUDWLRQVGHILQG¶DQQpH HQWUHODPLGpFHPEUHHW
OD PLMDQYLHU LO HVW WUqV GpOLFDW GH UpDOLVHU GHV RSpUDWLRQV HQ HQYLURQQHPHQW GH
SURGXFWLRQ 
• /HFDOHQGULHUGHVPLVHVHQSURGXFWLRQGHVYHUVLRQVDSSOLFDWLYHVG¶$FH73

)LQDOHPHQWOHSODQQLQJVXLYDQWDSXrWUHPLVHQSODFH


^ĞƌǀĞƵƌ EŽŵ WZK /ŶƐƚĂŶĐĞ ĂƚĞĚĞŵŝŐƌĂƚŝŽŶ
ƚŝƚŚƐϯϭϳ W&'  dWtZϬϭ͕ ϭϱͬϬϵͬϮϬϭϯ
dWtZϬϮ͕
dWtZϬϯ
ƚŝƚŚƐϭϭϮ ^> WZKϯ dWZϬϭ͕ ϮϭͬϭϬͬϮϬϭϯ
dWZϬϯ
ƚŝƚŚƐϯϮϵ // WZKϮ dWh/ϭϬ͕ ϮϯͬϭϬͬϮϬϭϯ
dWh/ϭϮ
ƚŝƚŚƐϯϮϴ / WZKϭ dWh/Ϭϳ͕ ϮϱͬϭϬͬϮϬϭϯ
dWh/Ϭϵ
ƚŝƚŚƐϯϭϯ D^> WZKϯ dWZϭϭ͕ ϬϰͬϭϭͬϮϬϭϯ
dWZϭϯ
ƚŝƚŚƐϯϭϱ D// WZKϮ dWhDϭϭ͕ ϬϲͬϭϭͬϮϬϭϯ
dWhDϭϯ
ƚŝƚŚƐϯϭϰ D WZKϭ dWhZϭϰ͕ ϬϴͬϭϭͬϮϬϭϯ
dWhZϭϲ
ƚŝƚŚƐϯϭϯ ,/Z WZKϰ dWt,ϯϭ͕ ϭϴͬϭϭͬϮϬϭϯ
dWt,ϯϯ
ƚŝƚŚƐϯϭϯ ,^> WZKϯ dWZϬϳ͕ ϮϬͬϭϭͬϮϬϭϯ
dWZϬϵ
ƚŝƚŚƐϯϭϱ ,/d WZKϮ dWhZϮϰ͕ ϮϮͬϭϭͬϮϬϭϯ
dWhZϮϲ
ƚŝƚŚƐϯϭϰ , WZKϭ dWhZϰϬ͕ ϮϳͬϭϭͬϮϬϭϯ
dWhZϰϮ
ƚŝƚŚƐϯϭϯ h/Z WZKϰ dWhZϬϭ͕ ϬϮͬϭϮͬϮϬϭϯ
dWhZϬϯ
ƚŝƚŚƐϭϭϮ h^> WZKϯ dWZϬϰ͕ ϬϰͬϭϮͬϮϬϭϯ
dWZϬϱ͕
dWZϬϲ
ƚŝƚŚƐϯϮϵ h/d WZKϮ dWhZϮϬ͕ ϬϲͬϭϮͬϮϬϭϯ
dWhZϮϭ͕
dWhZϮϮ
ƚŝƚŚƐϯϮϴ h&Z WZKϭ dWhZϴϬ͕ ϭϭͬϭϮͬϮϬϭϯ
dWhZϴϮ
ƚŝƚŚƐϯϮϴ h WZKϭ dWhZϲϬ͕ ϮϳͬϬϯͬϮϬϭϰ
 

ATPEUR61,
ATPEUR62
tiths515 PROD PROD4 ATPWDP31, 26/04/2014
ATPWDP33
tiths326 BAU PROD4 ATPWDB31 29/04/2014
tiths324 & PREPROD PROD3 ATPAAX21, 02/06/2014
tiths325 ATPAAX22,
ATPAAX23
tiths515 & PROD PROD3 ATPAAP21 07/06/2014
tiths516 ATPAAP22
ATPAAP23
tiths326 BAU PROD3 ATPAAB21, 10/06/2014
ATPAAB22
tiths324 & PREPROD PROD1 ATPEUX01, 16/06/2014
tiths325 ATPEUX02,
ATPEUX03
tiths515 & PROD PROD1 ATPEUP01, 21/06/2014
tiths516 ATPEUP02
ATPEUP03
tiths326 BAU PROD1 ATPEUB01, 23/06/2014
ATPEUB02,
ATPEUB03
tiths324 & PREPROD PROD2 ATPEUX11, 30/06/2014
tiths325 ATPEUX12,
ATPEUX13
tiths515 & PROD PROD2 ATPEUP11, 05/07/2014
tiths516 ATPEUP12,
ATPEUP13
tiths326 BAU PROD2 ATPEUB11, 07/07/2014
ATPEUB12
Tableau 20 : le planning des migrations

IV.2.4 Opérations post-migration

Nous avons mis en place, sur le projet AceTP, un trigger qui se déclenche à chaque fois
qu’une erreur a lieu sur une requête SQL et qui insère le message d’erreur, la requête et
d’autres informations annexes dans une table d’erreur dédiée.

A l’issue de la migration des premiers environnements, nous avons constaté que l’erreur
suivante apparaissait fréquemment dans notre table des erreurs :

ORA-00918 column ambiguously defined

Cette erreur apparait habituellement lorsqu’une requête réalise une jointure entre deux
tables (voire plus) qui ont au moins une colonne commune (c’est-à-dire de même nom), et

80


TXH FHWWH FRORQQH FRPPXQH HVW DSSHOpH VDQV TX¶RQ SXLVVH VDYRLU j TXHOOH WDEOH HOOH VH
UDSSRUWH

3DUH[HPSOHFRQVLGpURQVOHVGHX[WDEOHVVXLYDQWHV




)LJXUH25$OHVWDEOHVG
H[HPSOH


/DUHTXrWHVXLYDQWH

6(/(&7,'12035(120$'5(66(B%$7,0(17
)520(03/2<(%$7,0(17
:+(5((03/2<(,'B%$7,0(17 %$7,0(17,'B%$7,0(17
$1'120 ¶/$0%(57¶

YD UHWRXUQHU XQH HUUHXU 25$ FROXPQ DPELJXRXVO\ GHILQHG  FDU GDQV OD OLJQH
VXLYDQWH

$1'120 ¶/$0%(57¶

OHPRWHXU2UDFOHQHVDLWSDVVLODFRORQQH120HVWFHOOHGHODWDEOH(03/2<(RXFHOOH
GHODWDEOH%$7,0(17

,OVXIILWGHSUpIL[HUODFRORQQHDILQGHOHYHUOHGRXWH

6(/(&7,'12035(120$'5(66(B%$7,0(17
)520(03/2<(%$7,0(17
:+(5((03/2<(,'B%$7,0(17 %$7,0(17,'B%$7,0(17
$1'(03/2<(120 ¶/$0%(57¶

&HTXLQRXVDUHQGXVSHUSOH[HVYLVjYLVGHFHVHUUHXUVF¶HVWTXHQRXVQHOHVDYLRQVMDPDLV
FDSWXUpHVVXUOHVEDVHVGHGRQQpHV2UDFOHJ
-¶DLGRQFHIIHFWXpGHVUHFKHUFKHVHWFRQVWDWpTX¶HQHIIHWKXLWUHTXrWHVpWDLHQWFRQFHUQpHV
• (OOHVIRQFWLRQQDLHQWSDUIDLWHPHQWHQ2UDFOHJ
• 0DLVUHWRXUQDLHQWXQHHUUHXUVRXV2UDFOHJ

$SUqV UHFKHUFKH VXU OH VXSSRUW 2UDFOH M¶DL WURXYp OD QRWH  ©4XHU\ )DLOV :LWK
25$$IWHU8SJUDGHWRJª TXLGpFULWFHSUREOqPH

(Q IDLW LO V¶DJLW G¶XQ ERJXH %XJ   64/ 127 *(1(5$7,1* 25$
:+(186,1*-2,1 TXLH[LVWDLWVXU2UDFOHJHWTXLDpWpFRUULJpHQ2UDFOHJ'DQV
OHFDVGHUHTXrWHVXWLOLVDQW
• 8QHFRORQQHDPELJH
• (WODV\QWD[HGHMRLQWXUH$16,

 

la base de données aurait du lever une erreur, ce qui n’était pas le cas. De plus, elle
retournait, pour lever l’ambiguïté, une des deux colonnes au hasard.

Ainsi, pour reprendre notre exemple ci-dessus, la requête suivante :

SELECT ID, NOM, PRENOM, ADRESSE_BATIMENT


FROM EMPLOYE, BATIMENT
WHERE EMPLOYE.ID_BATIMENT=BATIMENT.ID_BATIMENT
AND NOM=’LAMBERT’;

Remonte bien une erreur sous Oracle 10g. Mais cette version écrite avec la syntaxe de
jointure ANSI, ne remonte pas d’erreur :

SELECT ID, NOM, PRENOM, ADRESSE_BATIMENT


FROM EMPLOYE JOIN BATIMENT
ON EMPLOYE.ID_BATIMENT=BATIMENT.ID_BATIMENT
WHERE NOM=’LAMBERT’;

Alors que sous Oracle 11g, l’erreur est bien remontée.

Etant donné que le comportement de la base de données Oracle 11g était le bon, il a fallu
réécrire les huit requêtes incriminées.

IV.3 Découverte des nouveautés de la nouvelle version

La migration des bases de données du projet AceTP a été menée avec comme priorité
absolue de faire en sorte qu’elle n’ait aucune incidence négative sur les performances de
l’application.
C’est pourquoi la découverte des nouveautés apportées par la nouvelle version, même si
elle est importante (et peut avoir des incidences positives sur les performances de
l’application) a commencé parallèlement aux tests de non-régression, mais continue
progressivement après la migration effective, d’autant qu’on recense près de 500 nouvelles
fonctionnalités sous Oracle 11g.

Afin d’illustrer la découverte de ces nouveautés, l’étude que j’ai réalisée à propos d’une de
ces nouvelles fonctionnalités, le « result cache » (en français cache de résultats), est
proposée en annexe.

IV.4 Bilan de la migration

Après une période de mise en place avec ITP un peu difficile (il a fallu deux réunions et
plusieurs échanges téléphoniques afin de bien cadrer le périmètre, le rôle de chaque équipe,
le calendrier, etc.), la migration, une fois sur les rails, s’est relativement bien déroulée,
malgré des difficultés à définir les dates définitives pour la migration des bases de données
de production.

82
A l’issue de chaque migration d’environnement, j’ai surveillé attentivement le
comportement des bases de données migrées, et n’ai pas constaté de régression dans les
performances. Le seul problème auquel j’ai dû faire face a été l’erreur ORA-00918 décrite
au paragraphe précédent.

Au niveau du calendrier, il ne se sera écoulé que six mois entre le début des tests de non-
régression et la migration de la première base de données. Ce délai très court a pu être
obtenu grâce à l’implication de tous, notamment au sein du projet AceTP.
Toutefois, nous gardons toujours à l’esprit qu’une migration n’est jamais vraiment
terminée. Maintenant, nous allons pouvoir nous atteler à la partie la plus « ludique » et
peut-être la plus stimulante : tester les nouveautés apportées par Oracle 11g et imaginer
comment nous pouvons les utiliser au sein du projet AceTP afin de contribuer à en faire
une application toujours plus robuste, efficace et rapide.

83


9 &RQFOXVLRQ

/¶REMHFWLI SULQFLSDO GX SURMHW pWDLW GH PHQHU j ELHQ OD PLJUDWLRQ YHUV 2UDFOH J GH
O¶HQVHPEOH GHV EDVHV GH GRQQpHV XWLOLVpHV GDQV OH FDGUH GX SURMHW $FH73 8Q WHO REMHFWLI
V¶DFFRPSDJQHGHGHX[FRURODLUHV

  6¶DVVXUHUGHODQRQUpJUHVVLRQDXQLYHDXQRWDPPHQWGHVSHUIRUPDQFHVGH
O¶DSSOLFDWLRQ XQH IRLV OD PLJUDWLRQ UpDOLVpH 3RXU FHOD XQH VROXWLRQ
SHUPHWWDQW GH FRPSDUHU OHV SHUIRUPDQFHV HQWUH GHX[ EDVHV GH GRQQpHV
GHYDLWrWUHUpDOLVpH
  (WXGLHU SXLV LPSOpPHQWHU OH FDV pFKpDQW  OHV QRXYHOOHV IRQFWLRQQDOLWpV
DSSRUWpHV SDU OD QRXYHOOH YHUVLRQ GX V\VWqPH GH JHVWLRQ GH EDVHV GH
GRQQpHV

/D SULRULWp D pWp GRQQpH DX SUHPLHU GH FHV SRLQWV GDQV OD PHVXUH R OD GpFRXYHUWH HW OD
PLVHHQSODFHGHQRXYHOOHVIRQFWLRQQDOLWpVSHXYHQWSDUIDLWHPHQWrWUHUpDOLVpHVXQHIRLVOD
PRQWpHGHYHUVLRQDFKHYpH

$O¶KHXUHGHODUpGDFWLRQGXSUpVHQWPpPRLUH DYULO OHVSUHPLqUHVEDVHVGHGRQQpHV


GHSURGXFWLRQRQWpWpPLJUpHVDYHFVXFFqV/DPLJUDWLRQGHVEDVHVG¶8$7TXLV¶HVWpWDOpH
G¶RFWREUHjPDUVDSHUPLVGHYDOLGHUGpILQLWLYHPHQWODQRQUpJUHVVLRQTXLDYDLW
pWpFRQVWDWpHGDQVXQHQYLURQQHPHQWPLVHQSODFHjFHWHIIHW

*OREDOHPHQWODEDVHGHGRQQpHV2UDFOHJV¶HVWPRQWUpHSOXVUDSLGHTXHODYHUVLRQJ
PrPHV¶LODIDOOXSRXUFHODHIIHFWXHUFHUWDLQVDPpQDJHPHQWVHWPrPHIRUFHUOHPRWHXUGHOD
EDVHjQHSDVXWLOLVHUXQQRXYHODOJRULWKPHPDLVOXLSUpIpUHUFHOXLGHODSUpFpGHQWHYHUVLRQ
(Q VRL FHWWH GHUQLqUH DFWLRQ SURXYH SDUIDLWHPHQW TX¶LO HVW WRXMRXUV QpFHVVDLUH G¶HIIHFWXHU
GHVWHVWVOHVSOXVFRPSOHWVSRVVLEOHVDYDQWG¶HQYLVDJHUXQHRSpUDWLRQG¶XQHWHOOHDPSOHXU
HQSURGXFWLRQ

$X WRWDO  EDVHV GLVWDQWHV F¶HVWjGLUH KpEHUJpHV SDU O¶HQWLWp ,73 HW TXL VRQW
SULQFLSDOHPHQWGHVEDVHVG¶8$7GHSUpSURGXFWLRQHWGHSURGXFWLRQ HW EDVHVORFDOHV
F¶HVWjGLUH KpEHUJpHV VXU GHV PDFKLQHV DSSDUWHQDQW j O¶pTXLSH SURMHW $FH73 EDVHV GH
GpYHORSSHPHQW HW GH WHVWV  DXURQW pWp PLJUpHV HQ  PRLV HQWUH RFWREUH  HW MXLOOHW
 

*UkFHjODFRQILDQFHTXLP¶DpWpDFFRUGpHSDUPRQWXWHXU0;DYLHU6HQQHYLOOHDLQVLTXH
SDU06WHSKHQ/H*DOOTXLGLULJHO¶pTXLSHGHV'%$M¶DLSXWUDYDLOOHUVXUO¶HQVHPEOHGHV
DVSHFWVGHODPLJUDWLRQ

• FRQFHSWLRQHWGpYHORSSHPHQWGHVRXWLOVGHPHVXUHGHODSHUIRUPDQFHGHV
EDVHVGHGRQQpHV
• PLVHHQSODFHGHO¶HQYLURQQHPHQWGHQRQUpJUHVVLRQ
• RUJDQLVDWLRQHWVXSHUYLVLRQGHVWHVWVGHQRQUpJUHVVLRQ
• DQDO\VHGHVWHVWVGHQRQUpJUHVVLRQ
• GpILQLWLRQGHODPpWKRGHGHPLJUDWLRQGHVEDVHVG¶8$7GHSUpSURGXFWLRQ
HWGHSURGXFWLRQ
• GpILQLWLRQGXFDOHQGULHUGHVPLJUDWLRQV

 



• VXLYLGHVPLJUDWLRQVGHVEDVHV©GLVWDQWHVª
• PLJUDWLRQGHVEDVHV©ORFDOHVª
• DQDO\VHGHVQRXYHDXWpVDSSRUWpHVSDUODQRXYHOOHYHUVLRQ

-¶DLDLQVLpWpLPSOLTXpGDQVGLIIpUHQWVDVSHFWVGXSURMHWDUFKLWHFWXUDOWHFKQLTXHPDLVDXVVL
RUJDQLVDWLRQQHO 3DU FRQVpTXHQW PDOJUp FHUWDLQV SUREOqPHV UHQFRQWUpV FLWRQV FRPPH
H[HPSOHVOHVGLIILFXOWpVjELHQGpILQLUOHGpFRXSDJHGHVU{OHVHQWUHO¶pTXLSHSURMHW$FH73
HW ,73 HW OHV GLIILFXOWpV j DUUrWHU OHV GDWHV GpILQLWLYHV GH PLJUDWLRQ SRXU OHV EDVHV GH
SURGXFWLRQ OHELODQTXHMHGUHVVHGHPDSDUWLFLSDWLRQjFHWWHPLJUDWLRQHVWSRVLWLIG¶DXWDQW
SOXVTXHOHVREMHFWLIVRQWpWpDWWHLQWV

/HV RXWLOV QpFHVVDLUHV j OD PHVXUH GH OD QRQUpJUHVVLRQ HQWUH OHV GHX[ YHUVLRQV G¶2UDFOH
J HW J  RQW pWp UpDOLVpV GDQV O¶RSWLTXH GH SRXYRLU rWUH UpXWLOLVpV j O¶LVVXH GH OD
PLJUDWLRQ $LQVL PR\HQQDQW TXHOTXHV DGDSWDWLRQV O¶DSSOLFDWLRQ $FH73 SRXUUD GLVSRVHU
JUkFHjFHWWHPLJUDWLRQG¶XQRXWLOSHUPHWWDQWGHFHQWUDOLVHUOHVPpWULTXHVFDSWXUpHVDXVHLQ
GH FKDTXH EDVH GH GRQQpHV GX SURMHW /¶pWXGH GHV SLFV G¶DFWLYLWp HQ VHUD FHUWDLQHPHQW
IDFLOLWpHQRWDPPHQWHQSURGXFWLRQ

'H SOXV O¶DSSOLFDWLRQ SRXUUD FHUWDLQHPHQW DSUqV XQH SpULRGH G¶DQDO\VH SURILWHU GHV
QRXYHDXWpV RIIHUWHV SDU 2UDFOH J HQ WHUPHV GH SHUIRUPDQFHV GH IDFLOLWpV GH
SURJUDPPDWLRQHWF(QHIIHWPrPHVLHOOHDGpMjpWpDPRUFpH DYHFSDUH[HPSOHO¶pWXGHGX
FDFKH GH UpVXOWDWV TXL HVW SUpVHQWpH HQ DQQH[H GH FH PpPRLUH  OD SKDVH G¶DQDO\VH GHV
QRXYHOOHVIRQFWLRQQDOLWpVGHODYHUVLRQJQ¶HVW SDVWHUPLQpH&HOOHFLVHUDFHUWDLQHPHQW
VXLYLHG¶XQHSKDVHGHGRFXPHQWDWLRQjO¶DWWHQWLRQGHVGLIIpUHQWVDFWHXUVGXSURMHWDLQVLTXH
GHODPLVHHQSODFHGHIRUPDWLRQVFLEOpHV

 

Bibliographie

Freeman Robert G., 2007. Oracle Database 11g New Features. Editions Mc Graw Hill,
New York, 362 p.

KYTE Tom, 2010. Expert Oracle Database Architecture Oracle Database 9i, 10g, and 11g
Programming Techniques and Solutions. Editions Apress, New-York City, 832 p.

KYTE Tom, 2003. Effective Oracle by design. Editions Osborne, San Francisco, 664 p.

ORACLE Corporation, Upgrade Methods for Upgrading to Oracle Database 11g Release
2, [en ligne]. Disponible sur : http://www.oracle.com/technetwork/database/upgrade/11gr2-
upgrade-methods-wp-2011-486336.pdf (consulté le 01/07/2013).

ORACLE Corporation, Best Practices for Upgrading to Oracle Database 11g Release 2,
[en ligne]. Disponible sur : http://www.oracle.com/technetwork/database/upgrade/best-
practices-for-upgrading-11gr2-174946.pdf (consulté le 15/09/2013).

86
Table des annexes
Annexe 1 Petit historique de la base de données Oracle .................................................................. 88
Annexe 2 Exemple de rapport AWR................................................................................................ 89
Annexe 3 Note du support Oracle N° 793845.1 (« Higher 'direct path read' Waits in 11g when
Compared to 10g”) ................................................................................................................ 102
Annexe 4 Note du support Oracle N° 835701.1 (« Query Fails With ORA-00918 After Upgrade to
11g ») ..................................................................................................................................... 104
Annexe 5 Résultats complets des tests de non-régression ............................................................. 106
Annexe 6 Etude sur le result cache ................................................................................................ 111

87
Annexe 1
Petit historique de la base de données Oracle

1977 : Software Development Laboratories, est fondée par Larry Ellison, Bob Miner, et Ed
Oates.

1978 : La version 1 du logiciel Oracle est écrite en langage assembleur mais ne sera jamais
commercialisée.

1979 : La version 2 du système de gestion de bases de données Oracle est commercialisée ;


l’entreprise change de nom et devient Relational Software Inc. (RSI).

1982 : L’entreprise change à nouveau de nom et devient Oracle Systems.

1983 : La version 3 du SGBDR Oracle, totalement réécrite en langage C, est publiée. Elle
introduit la notion de transaction.

1984 : La version 4 introduit la notion de lecture cohérente.

1985 : La version 5 est adaptée au modèle client-serveur.

1988 : Avec la version 6 apparaissent notamment le langage PL/SQL et le verrouillage au


niveau des lignes.

1992 : La version 7 introduit les contraintes d’intégrités, les procédures stockées et les
triggers.

1997 : Sortie de la version 8 qui introduit le développement orienté objet.

1999 : Sortie de la version 8i dont le but est de mieux s’interfacer avec des applications
internet et intègre une machine virtuelle java.

2001 : Sortie de la version 9i : plus de 400 nouveautés sont au programme (lecture et


écriture de documents XML, Oracle Real Application Clusters, etc.).

2003 : Sortie de la version 10g qui apporte l'introduction de la technologie Grid


Computing. Les centres de données peuvent maintenant partager des ressources
matérielles, réduisant ainsi les coûts de l'infrastructure informatique.

2007 : Sortie de la version 11g qui est axée sur des améliorations significatives aux
fonctionnalités existantes et apporte près de 500 nouveautés.

2013 : Sortie de la version 12c qui est présentée par Oracle comme « la première base de
données au monde conçue pour le cloud (informatique en nuage) » avec le principe d’une
base de données conteneur qui peut héberger des bases de données « enfichables ».

88
Annexe 2
Exemple de rapport AWR

NB : ce rapport étant particulièrement volumineux (plus de 50 pages), j’en ai tronqué


certaines parties pour le ramener à des proportions plus raisonnables.

WORKLOAD REPOSITORY report for

DB Name DB Id Instance Inst Num Release RAC Host


------------ ----------- ------------ -------- ----------- --- ------------
ATPEUD10 3497624712 ATPEUD10 1 10.2.0.5.0 NO atpds1.fr.ne

Snap Id Snap Time Sessions Curs/Sess


--------- ------------------- -------- ---------
Begin Snap: 24440 04-Dec-13 10:00:56 110 2.2
End Snap: 24441 04-Dec-13 11:00:58 115 1.9
Elapsed: 60.02 (mins)
DB Time: 34.65 (mins)

Cache Sizes
~~~~~~~~~~~ Begin End
---------- ----------
Buffer Cache: 4,096M 4,096M Std Block Size: 8K
Shared Pool Size: 7,168M 7,168M Log Buffer: 14,312K

Load Profile
~~~~~~~~~~~~ Per Second Per Transaction
--------------- ---------------
Redo size: 574,448.85 49,499.44
Logical reads: 12,657.06 1,090.64
Block changes: 2,437.77 210.06
Physical reads: 107.41 9.26
Physical writes: 70.73 6.09
User calls: 50.60 4.36
Parses: 262.55 22.62
Hard parses: 14.59 1.26
Sorts: 112.57 9.70
Logons: 11.83 1.02
Executes: 396.32 34.15
Transactions: 11.61

% Blocks changed per Read: 19.26 Recursive Call %: 98.85


Rollback per transaction %: 2.19 Rows per Sort: 24.16

Instance Efficiency Percentages (Target 100%)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Buffer Nowait %: 100.00 Redo NoWait %: 100.00
Buffer Hit %: 99.60 In-memory Sort %: 100.00
Library Hit %: 94.32 Soft Parse %: 94.44
Execute to Parse %: 33.75 Latch Hit %: 99.64
Parse CPU to Parse Elapsd %: 77.27 % Non-Parse CPU: 85.09

Shared Pool Statistics Begin End


------ ------
Memory Usage %: 82.43 90.01
% SQL with executions>1: 99.62 65.09
% Memory for SQL w/exec>1: 97.01 67.58

Top 5 Timed Events Avg %Total


~~~~~~~~~~~~~~~~~~ wait Call
Event Waits Time (s) (ms) Time Wait Class
------------------------------ ------------ ----------- ------ ------ ----------

89
CPU time 925 44.5
db file scattered read 2,776 541 195 26.0 User I/O
log file parallel write 130,687 209 2 10.0 System I/O
PX Deq Credit: send blkd 845 206 244 9.9 Other
db file sequential read 42,925 124 3 6.0 User I/O
-------------------------------------------------------------
Time Model Statistics DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441
-> Total time in database user-calls (DB Time): 2079.2s
-> Statistics including the word "background" measure background process
time, and so do not contribute to the DB time statistic
-> Ordered by % or DB time desc, Statistic name

Statistic Name Time (s) % of DB Time


------------------------------------------ ------------------ ------------
sql execute elapsed time 2,014.0 96.9
DB CPU 924.6 44.5
PL/SQL execution elapsed time 420.2 20.2
parse time elapsed 189.8 9.1
hard parse elapsed time 159.9 7.7
PL/SQL compilation elapsed time 78.1 3.8
hard parse (sharing criteria) elapsed time 31.8 1.5
repeated bind elapsed time 2.5 .1
connection management call elapsed time 1.0 .0
sequence load elapsed time 0.1 .0
hard parse (bind mismatch) elapsed time 0.0 .0
failed parse elapsed time 0.0 .0
DB time 2,079.2 N/A
background elapsed time 348.2 N/A
background cpu time 47.0 N/A
-------------------------------------------------------------

Wait Class DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> s - second
-> cs - centisecond - 100th of a second
-> ms - millisecond - 1000th of a second
-> us - microsecond - 1000000th of a second
-> ordered by wait time desc, waits desc
-> %Timeouts: value of 0 indicates value was .5%. Value of null is truly 0

Avg %Total
%Time Total Wait wait Call
Wait Class Waits -outs Time (s) (ms) Time
-------------------- ---------------- ----- ---------------- -------- -------
CPU time N/A N/A 925 N/A 44.5
User I/O 173,440 N/A 694 4 33.4
Other 32,194 0 236 7 11.3
System I/O 134,646 N/A 216 2 10.4
Network 278,910 N/A 123 0 5.9
Commit 11,931 2 61 5 2.9
Configuration 166 N/A 10 63 0.5
Concurrency 1,366 7 6 4 0.3
Application 8,008 N/A 3 0 0.1
-------------------------------------------------------------

Wait Events DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> s - second
-> cs - centisecond - 100th of a second
-> ms - millisecond - 1000th of a second
-> us - microsecond - 1000000th of a second
-> ordered by wait time desc, waits desc (idle events last)
-> %Timeouts: value of 0 indicates value was .5%. Value of null is truly 0

Avg
%Time Total Wait wait Waits
Event Waits -outs Time (s) (ms) /txn
---------------------------- -------------- ----- ----------- ------- ---------
db file scattered read 2,776 N/A 541 195 0.1
log file parallel write 130,687 N/A 209 2 3.1
PX Deq Credit: send blkd 845 N/A 206 244 0.0
db file sequential read 42,925 N/A 124 3 1.0
SQL*Net message from dblink 39,200 N/A 119 3 0.9
log file sync 11,931 2 61 5 0.3
rdbms ipc reply 10,266 N/A 26 2 0.2
direct path sync 10,338 N/A 22 2 0.2
log buffer space 75 N/A 10 137 0.0
control file parallel write 1,697 N/A 7 4 0.0
read by other session 463 N/A 7 15 0.0

90
SQL*Net more data from dblin 151,938 N/A 4 0 3.6
latch: shared pool 836 N/A 3 4 0.0
enq: RO - fast object reuse 7,906 N/A 2 0 0.2
reliable message 10,211 N/A 2 0 0.2
os thread startup 82 N/A 2 19 0.0
cursor: pin S wait on X 120 74 1 8 0.0
kksfbc child completion 9 100 0 50 0.0
enq: UL - contention 2 N/A 0 209 0.0
LGWR wait for redo copy 9,644 N/A 0 0 0.2
db file single write 214 N/A 0 1 0.0
latch free 597 N/A 0 0 0.0
direct path read 102,360 N/A 0 0 2.4
PX Deq: Table Q Get Keys 76 N/A 0 2 0.0
SQL*Net more data from clien 984 N/A 0 0 0.0
enq: TQ - DDL contention 1 N/A 0 106 0.0
kupp process wait 1 100 0 99 0.0
latch: library cache 46 N/A 0 2 0.0
log file switch completion 8 N/A 0 11 0.0
SQL*Net break/reset to clien 100 N/A 0 1 0.0
latch: cache buffers chains 225 N/A 0 0 0.0
utl_file I/O 3,419 N/A 0 0 0.1
latch: messages 269 N/A 0 0 0.0
latch: cache buffers lru cha 39 N/A 0 1 0.0
control file sequential read 2,250 N/A 0 0 0.1
SQL*Net message to client 46,523 N/A 0 0 1.1
enq: JS - queue lock 12 N/A 0 3 0.0
direct path write 10,945 N/A 0 0 0.3
SQL*Net message to dblink 39,186 N/A 0 0 0.9
log file single write 6 N/A 0 3 0.0
PX Deq: Signal ACK 69 4 0 0 0.0
latch: parallel query alloc 15 N/A 0 1 0.0
latch: redo writing 80 N/A 0 0 0.0
jobq slave TJ process wait 1 100 0 11 0.0
SQL*Net more data to client 994 N/A 0 0 0.0
latch: row cache objects 10 N/A 0 1 0.0
library cache lock 2 N/A 0 4 0.0
cursor: pin S 9 N/A 0 1 0.0
log file sequential read 6 N/A 0 1 0.0
PX qref latch 72 71 0 0 0.0
enq: PS - contention 13 N/A 0 0 0.0
buffer busy waits 38 N/A 0 0 0.0
latch: library cache lock 6 N/A 0 0 0.0
SQL*Net more data to dblink 85 N/A 0 0 0.0
latch: enqueue hash chains 26 N/A 0 0 0.0
enq: TX - allocate ITL entry 3 N/A 0 0 0.0
latch: object queue header o 6 N/A 0 0 0.0
latch: session allocation 7 N/A 0 0 0.0
PX Deq: Table Q qref 4 N/A 0 0 0.0
latch: In memory undo latch 1 N/A 0 0 0.0
Wait Events DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441
-> s - second
-> cs - centisecond - 100th of a second
-> ms - millisecond - 1000th of a second
-> us - microsecond - 1000000th of a second
-> ordered by wait time desc, waits desc (idle events last)
-> %Timeouts: value of 0 indicates value was .5%. Value of null is truly 0

Avg
%Time Total Wait wait Waits
Event Waits -outs Time (s) (ms) /txn
---------------------------- -------------- ----- ----------- ------- ---------
buffer deadlock 2 100 0 0 0.0
SQL*Net message from client 46,618 N/A 203,545 4366 1.1
PX Idle Wait 8,650 99 16,733 1934 0.2
Streams AQ: waiting for time 12 67 15,745 1.3E+06 0.
Streams AQ: qmn slave idle w 618 N/A 7,015 11351 0.0
jobq slave wait 2,526 50 6,105 2417 0.1
EMON idle wait 721 100 3,520 4882 0.0
Streams AQ: qmn coordinator 674 34 3,507 5204 0.0
wait for unread message on b 12,805 12 1,605 125 0.3
PL/SQL lock timer 89 98 821 9222 0.0
PX Deq: Table Q Normal 35,368 0 555 16 0.8
PX Deq: Execution Msg 2,213 2 185 84 0.1
PX Deq: Execute Reply 614 0 26 43 0.0
PX Deq Credit: need buffer 95 N/A 25 264 0.0
single-task message 14 N/A 0 20 0.0
PX Deq: Parse Reply 82 N/A 0 2 0.0

91
PX Deq: Join ACK 83 N/A 0 1 0.0
PX Deq: Msg Fragment 143 N/A 0 0 0.0
class slave wait 8 N/A 0 0 0.0
-------------------------------------------------------------

Background Wait Events DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> ordered by wait time desc, waits desc (idle events last)
-> %Timeouts: value of 0 indicates value was .5%. Value of null is truly 0

Avg
%Time Total Wait wait Waits
Event Waits -outs Time (s) (ms) /txn
---------------------------- -------------- ----- ----------- ------- ---------
log file parallel write 130,687 N/A 209 2 3.1
control file parallel write 1,697 N/A 7 4 0.0
os thread startup 32 N/A 1 20 0.0
db file sequential read 328 N/A 1 2 0.0
events in waitclass Other 10,375 N/A 0 0 0.2
db file single write 214 N/A 0 1 0.0
control file sequential read 2,175 N/A 0 0 0.1
log file switch completion 3 N/A 0 10 0.0
log file single write 6 N/A 0 3 0.0
latch: redo writing 80 N/A 0 0 0.0
library cache lock 2 N/A 0 4 0.0
latch: shared pool 2 N/A 0 4 0.0
log file sequential read 6 N/A 0 1 0.0
direct path sync 1 N/A 0 3 0.0
direct path write 2 N/A 0 0 0.0
rdbms ipc message 562,184 4 61,888 110 13.5
Streams AQ: waiting for time 12 67 15,745 1.3E+06 0.
Streams AQ: qmn slave idle w 618 N/A 7,015 11351 0.0
EMON idle wait 721 100 3,520 4882 0.0
pmon timer 1,454 100 3,514 2417 0.0
Streams AQ: qmn coordinator 674 34 3,507 5204 0.0
smon timer 12 100 3,319 276599 0.0
-------------------------------------------------------------

Operating System Statistics DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441

Statistic Total
-------------------------------- --------------------
BUSY_TIME 186,488
IDLE_TIME 8,456,262
IOWAIT_TIME 61,367
NICE_TIME 470
SYS_TIME 17,091
USER_TIME 156,793
LOAD 1
RSRC_MGR_CPU_WAIT_TIME 0
VM_IN_BYTES 11,172,808,704
VM_OUT_BYTES 10,470,290,432
PHYSICAL_MEMORY_BYTES 33,474,502,656
NUM_CPUS 24
NUM_CPU_SOCKETS 2
-------------------------------------------------------------

Service Statistics DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> ordered by DB Time

Physical Logical
Service Name DB Time (s) DB CPU (s) Reads Reads
-------------------------------- ------------ ------------ ---------- ----------
ATPEUD10_D2P 1,169.8 215.0 368,400 9,469,069
SYS$USERS 863.3 665.0 17,052 2.62E+07
ATPEUD10.FR.NET.INTRA 43.7 42.2 869 9,288,268
ATPEUD10_WEBLOGIC 2.4 2.4 0 395,280
ATPEUD10 0.0 0.0 0 0
ATPEUD10_ADBMANAGER 0.0 0.0 0 0
ATPEUD10_EASYFLOW 0.0 0.0 0 0
ATPEUD10_IM 0.0 0.0 0 0
ATPEUD10_TIBCO 0.0 0.0 0 0
SYS$BACKGROUND 0.0 0.0 501 210,606
-------------------------------------------------------------

Service Wait Class Stats DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> Wait Class info for services in the Service Statistics section.
-> Total Waits and Time Waited displayed for the following wait

92
classes: User I/O, Concurrency, Administrative, Network
-> Time Waited (Wt Time) in seconds

Service Name
----------------------------------------------------------------
User I/O User I/O Concurcy Concurcy Admin Admin Network Network
Total Wts Wt Time Total Wts Wt Time Total Wts Wt Time Total Wts Wt Time
--------- --------- --------- --------- --------- --------- --------- ---------
ATPEUD10_D2P
149607 661 696 4 0 0 22379 1
SYS$USERS
22274 28 608 2 0 0 236565 123
ATPEUD10.FR.NET.INTRA
514 3 3 0 0 0 18482 0
ATPEUD10_WEBLOGIC
0 0 12 0 0 0 1080 0
ATPEUD10_ADBMANAGER
0 0 0 0 0 0 0 0
SYS$BACKGROUND
1043 2 37 1 0 0 0 0
-------------------------------------------------------------

SQL ordered by Elapsed Time DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> Resources reported for PL/SQL code includes the resources used by all SQL
statements called by the code.
-> % Total DB Time is the Elapsed Time of the SQL statement divided
into the Total Database Time multiplied by 100
-> Total DB Time (s): 2,079
-> Captured SQL account for 64.1% of Total

Elapsed CPU Elap per % Total


Time (s) Time (s) Executions Exec (s) DB Time SQL Id
---------- ---------- ------------ ---------- ------- -------------
795 586 1 795.2 38.2 33gd82atzx3h8
BEGIN SYS.KUPW$WORKER.MAIN('D2P_IMPDP_CL_SCC_HEAD_OUZELUM', 'ACETP_DBA'); E
ND;

93 4 7,910 0.0 4.5 4gsjz1hnt7xab


Module: Data Pump Worker
BEGIN :1 := dbms_metadata.network_fetch_clob@D2P_CL_SCC_HEAD.fr.net.intra(:2,:3,
:4,:5,:6,:7); END;

38 39 6 6.3 1.8 fqmpmkfr6pqyk


Module: PlSqlDev.exe
select s.synonym_name object_name, o.object_type from sys.all_synonyms s, s
ys.all_objects o where s.owner in ('PUBLIC', user) and o.owner = s.table_owner a
nd o.object_name = s.table_name and o.object_type in ('TABLE', 'VIEW', 'PACKAGE'
,'TYPE', 'PROCEDURE', 'FUNCTION', 'SEQUENCE')

24 10 1 23.9 1.2 2a2ua01zhds69


Module: ReloadTask
select distinct t.*, dense_rank() over(order by t.table_name), count(distinct t.
table_name) over() from ( select l.table_name, l.column_name,
null as type, null as partition_name from dba_lobs l, dba_segmen
ts s where l.owner = 'CL_SCC' and s.segment_name = l.segment_name and

19 19 84 0.2 0.9 2vxwk65hkffzp


Module: DBMS_SCHEDULER
DECLARE job BINARY_INTEGER := :job; next_date TIMESTAMP WITH TIME ZONE := :myda
te; broken BOOLEAN := FALSE; job_name VARCHAR2(30) := :job_name; job_subname
VARCHAR2(30) := :job_subname; job_owner VARCHAR2(30) := :job_owner; job_start
TIMESTAMP WITH TIME ZONE := :job_start; job_scheduled_start TIMESTAMP WITH TIME

-------------------------------------------------------------

SQL ordered by CPU Time DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> Resources reported for PL/SQL code includes the resources used by all SQL
statements called by the code.
-> % Total is the CPU Time divided into the Total CPU Time times 100
-> Total CPU Time (s): 925
-> Captured SQL account for 101.9% of Total

CPU Elapsed CPU per % Total


Time (s) Time (s) Executions Exec (s) % Total DB Time SQL Id
---------- ---------- ------------ ----------- ------- ------- -------------
586 795 1 586.43 63.4 38.2 33gd82atzx3h8

93
BEGIN SYS.KUPW$WORKER.MAIN('D2P_IMPDP_CL_SCC_HEAD_OUZELUM', 'ACETP_DBA'); E
ND;

39 38 6 6.45 4.2 1.8 fqmpmkfr6pqyk


Module: PlSqlDev.exe
select s.synonym_name object_name, o.object_type from sys.all_synonyms s, s
ys.all_objects o where s.owner in ('PUBLIC', user) and o.owner = s.table_owner a
nd o.object_name = s.table_name and o.object_type in ('TABLE', 'VIEW', 'PACKAGE'
,'TYPE', 'PROCEDURE', 'FUNCTION', 'SEQUENCE')

19 19 84 0.23 2.1 0.9 2vxwk65hkffzp


Module: DBMS_SCHEDULER
DECLARE job BINARY_INTEGER := :job; next_date TIMESTAMP WITH TIME ZONE := :myda
te; broken BOOLEAN := FALSE; job_name VARCHAR2(30) := :job_name; job_subname
VARCHAR2(30) := :job_subname; job_owner VARCHAR2(30) := :job_owner; job_start
TIMESTAMP WITH TIME ZONE := :job_start; job_scheduled_start TIMESTAMP WITH TIME

-------------------------------------------------------------

SQL ordered by Gets DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> Resources reported for PL/SQL code includes the resources used by all SQL
statements called by the code.
-> Total Buffer Gets: 45,583,354
-> Captured SQL account for 53.9% of Total

Gets CPU Elapsed


Buffer Gets Executions per Exec %Total Time (s) Time (s) SQL Id
-------------- ------------ ------------ ------ -------- --------- -------------
21,303,214 1 2.1303E+07 46.7 586.43 795.17 33gd82atzx3h8
BEGIN SYS.KUPW$WORKER.MAIN('D2P_IMPDP_CL_SCC_HEAD_OUZELUM', 'ACETP_DBA'); E
ND;

9,471,549 6 1,578,591.5 20.8 38.68 37.79 fqmpmkfr6pqyk


Module: PlSqlDev.exe
select s.synonym_name object_name, o.object_type from sys.all_synonyms s, s
ys.all_objects o where s.owner in ('PUBLIC', user) and o.owner = s.table_owner a
nd o.object_name = s.table_name and o.object_type in ('TABLE', 'VIEW', 'PACKAGE'
,'TYPE', 'PROCEDURE', 'FUNCTION', 'SEQUENCE')

2,861,750 84 34,068.5 6.3 19.41 19.16 2vxwk65hkffzp


Module: DBMS_SCHEDULER
DECLARE job BINARY_INTEGER := :job; next_date TIMESTAMP WITH TIME ZONE := :myda
te; broken BOOLEAN := FALSE; job_name VARCHAR2(30) := :job_name; job_subname
VARCHAR2(30) := :job_subname; job_owner VARCHAR2(30) := :job_owner; job_start
TIMESTAMP WITH TIME ZONE := :job_start; job_scheduled_start TIMESTAMP WITH TIME

-------------------------------------------------------------

SQL ordered by Reads DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> Total Disk Reads: 386,844
-> Captured SQL account for 7.8% of Total

Reads CPU Elapsed


Physical Reads Executions per Exec %Total Time (s) Time (s) SQL Id
-------------- ----------- ------------- ------ -------- --------- -------------
9,447 1 9,447.0 2.4 586.43 795.17 33gd82atzx3h8
BEGIN SYS.KUPW$WORKER.MAIN('D2P_IMPDP_CL_SCC_HEAD_OUZELUM', 'ACETP_DBA'); E
ND;

6,457 3 2,152.3 1.7 0.21 1.78 1jkra8vp5rwzm


Module: JDBC Thin Client
/* databroker_batch_invoker -> UpdateBatchHistoryBarrier */ UPDATE EAI_BATCH_BIZ
_HISTO SET SUCCESS_IND = :1 WHERE BATCH_NAME LIKE :2 AND SUCCES
S_IND = :3

5,923 1 5,923.0 1.5 9.95 23.93 2a2ua01zhds69


Module: ReloadTask
select distinct t.*, dense_rank() over(order by t.table_name), count(distinct t.
table_name) over() from ( select l.table_name, l.column_name,
null as type, null as partition_name from dba_lobs l, dba_segmen
ts s where l.owner = 'CL_SCC' and s.segment_name = l.segment_name and

-------------------------------------------------------------

SQL ordered by Executions DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> Total Executions: 1,427,309

94
-> Captured SQL account for 89.2% of Total

CPU per Elap per


Executions Rows Processed Rows per Exec Exec (s) Exec (s) SQL Id
------------ --------------- -------------- ---------- ----------- -------------
80,637 34,589 0.4 0.00 0.00 96g93hntrzjtr
select /*+ rule */ bucket_cnt, row_cnt, cache_cnt, null_cnt, timestamp#, sample_
size, minimum, maximum, distcnt, lowval, hival, density, col#, spare1, spare2, a
vgcln from hist_head$ where obj#=:1 and intcol#=:2

72,717 246,672 3.4 0.00 0.00 0h6b2sajwb74n


select privilege#,level from sysauth$ connect by grantee#=prior privilege# and p
rivilege#>0 start with grantee#=:1 and privilege#>0

53,362 54,596 1.0 0.00 0.00 53saa2zkr6wc3


select intcol#,nvl(pos#,0),col#,nvl(spare1,0) from ccol$ where con#=:1

-------------------------------------------------------------

Instance Activity Stats DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441

Statistic Total per Second per Trans


-------------------------------- ------------------ -------------- -------------
CPU used by this session 90,517 25.1 2.2
CPU used when call started 30,319 8.4 0.7
CR blocks created 63,775 17.7 1.5
Cached Commit SCN referenced 21,747 6.0 0.5
Commit SCN cached 39 0.0 0.0
DB time 993,095 275.8 23.8
DBWR checkpoint buffers written 105,301 29.2 2.5
DBWR checkpoints 10,226 2.8 0.2
DBWR object drop buffers written 418 0.1 0.0
DBWR parallel query checkpoint b 0 0.0 0.0
DBWR revisited being-written buf 0 0.0 0.0
DBWR tablespace checkpoint buffe 0 0.0 0.0
DBWR thread checkpoint buffers w 0 0.0 0.0
DBWR transaction table writes 541 0.2 0.0
DBWR undo block writes 31,619 8.8 0.8
-------------------------------------------------------------

Instance Activity Stats - Absolute ValuesDB/Inst: ATPEUD10/ATPEUD10 Snaps: 2


-> Statistics with absolute values (should not be diffed)

Statistic Begin Value End Value


-------------------------------- --------------- ---------------
session pga memory max 4.1481862E+14 4.1481968E+14
session cursor cache count 244,251,983 244,392,825
session uga memory 5.8355951E+14 5.8397302E+14
opened cursors current 237 216
workarea memory allocated 38,151 38,151
logons current 110 115
session uga memory max 2.9386198E+13 2.9393661E+13
session pga memory 7.0893137E+12 7.0897194E+12
-------------------------------------------------------------

Instance Activity Stats - Thread ActivityDB/Inst: ATPEUD10/ATPEUD10 Snaps: 24


-> Statistics identified by '(derived)' come from sources other than SYSSTAT

Statistic Total per Hour


-------------------------------- ------------------ ---------
log switches (derived) 3 3.00
-------------------------------------------------------------

Tablespace IO Stats DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> ordered by IOs (Reads + Writes) desc

Tablespace
------------------------------
Av Av Av Av Buffer Av Buf
Reads Reads/s Rd(ms) Blks/Rd Writes Writes/s Waits Wt(ms)
-------------- ------- ------ ------- ------------ -------- ---------- ------
ACETP_DATA_LOB
104,938 29 0.3 1.0 21,343 6 0 0.0
ACETP_INDX
15,291 4 2.1 1.1 16,463 5 0 0.0
SYSTEM

95
15,659 4 3.8 1.3 15,412 4 30 0.3
ACETP_DATA
8,889 2 62.5 27.3 10,491 3 448 15.2
UNDOTBS
0 0 0.0 .0 3,029 1 9 0.0
OUZELUM_INDX
1,515 0 2.4 1.0 1,335 0 0 0.0
SYSAUX
1,359 0 3.4 1.0 675 0 0 0.0
OUZELUM_DATA_LOB
41 0 2.2 1.1 39 0 0 0.0
OUZELUM_DATA
33 0 5.5 1.8 11 0 0 0.0
ACETP_MIGRATION_INDX
8 0 2.5 1.0 8 0 0 0.0
-------------------------------------------------------------

Buffer Pool Advisory DB/Inst: ATPEUD10/ATPEUD10 Snap: 24441


-> Only rows with estimated physical reads >0 are displayed
-> ordered by Block Size, Buffers For Estimate

Est
Phys
Size for Size Buffers for Read Estimated
P Est (M) Factor Estimate Factor Physical Reads
--- -------- ------ ---------------- ------ ------------------
D 400 .1 49,475 2.0 2,382,032,790
D 800 .2 98,950 1.6 1,865,933,817
D 1,200 .3 148,425 1.4 1,692,293,889
D 1,600 .4 197,900 1.3 1,591,236,902
D 2,000 .5 247,375 1.2 1,466,965,757
D 2,400 .6 296,850 1.1 1,376,914,569
D 2,800 .7 346,325 1.1 1,311,781,860
D 3,200 .8 395,800 1.0 1,224,791,245
D 3,600 .9 445,275 1.0 1,213,378,561
D 4,000 1.0 494,750 1.0 1,205,251,201
D 4,096 1.0 506,624 1.0 1,203,139,571
D 4,400 1.1 544,225 1.0 1,197,671,660
D 4,800 1.2 593,700 1.0 1,191,665,467
D 5,200 1.3 643,175 1.0 1,186,227,248
D 5,600 1.4 692,650 1.0 1,180,986,292
D 6,000 1.5 742,125 1.0 1,176,661,416
D 6,400 1.6 791,600 1.0 1,172,631,707
D 6,800 1.7 841,075 1.0 1,168,679,295
D 7,200 1.8 890,550 1.0 1,164,083,119
D 7,600 1.9 940,025 1.0 1,160,180,825
D 8,000 2.0 989,500 0.9 1,115,638,665
K 48 .1 5,937 1.4 175,136
K 96 .2 11,874 1.3 164,739
K 144 .3 17,811 1.1 141,727
K 192 .4 23,748 1.0 129,971
K 240 .5 29,685 1.0 127,779
K 288 .6 35,622 1.0 126,332
K 336 .7 41,559 1.0 126,091
K 384 .8 47,496 1.0 125,982
K 432 .8 53,433 1.0 125,797
K 480 .9 59,370 1.0 125,425
K 512 1.0 63,328 1.0 124,857
K 528 1.0 65,307 1.0 124,692
K 576 1.1 71,244 1.0 123,507
K 624 1.2 77,181 1.0 122,852
K 672 1.3 83,118 1.0 122,730
K 720 1.4 89,055 1.0 122,661
K 768 1.5 94,992 1.0 122,631
K 816 1.6 100,929 1.0 122,597
K 864 1.7 106,866 1.0 122,573
K 912 1.8 112,803 1.0 122,544
K 960 1.9 118,740 1.0 122,534
-------------------------------------------------------------

PGA Aggr Summary DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> PGA cache hit % - percentage of W/A (WorkArea) data processed only in-memory

PGA Cache Hit % W/A MB Processed Extra W/A MB Read/Written


--------------- ------------------ --------------------------
100.0 2,088 0
-------------------------------------------------------------

96
PGA Aggr Target Stats DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441
-> B: Begin snap E: End snap (rows dentified with B or E contain data
which is absolute i.e. not diffed over the interval)
-> Auto PGA Target - actual workarea memory target
-> W/A PGA Used - amount of memory used for all Workareas (manual + auto)
-> %PGA W/A Mem - percentage of PGA memory allocated to workareas
-> %Auto W/A Mem - percentage of workarea memory controlled by Auto Mem Mgmt
-> %Man W/A Mem - percentage of workarea memory under manual control

%PGA %Auto %Man


PGA Aggr Auto PGA PGA Mem W/A PGA W/A W/A W/A Global Mem
Target(M) Target(M) Alloc(M) Used(M) Mem Mem Mem Bound(K)
- ---------- ---------- ---------- ---------- ------ ------ ------ ----------
B 2,048 1,743 183.8 0.0 .0 .0 .0 209,710
E 2,048 1,743 183.8 0.0 .0 .0 .0 209,710
-------------------------------------------------------------

Buffer Wait Statistics DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> ordered by wait time desc, waits desc

Class Waits Total Wait Time (s) Avg Time (ms)


------------------ ----------- ------------------- --------------
data block 478 7 14
undo block 8 0 0
undo header 1 0 0
-------------------------------------------------------------

Enqueue Activity DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> only enqueues with waits are shown
-> Enqueue stats gathered prior to 10g should not be compared with 10g data
-> ordered by Wait Time desc, Waits desc

Enqueue Type (Request Reason)


------------------------------------------------------------------------------
Requests Succ Gets Failed Gets Waits Wt Time (s) Av Wt Time(ms)
------------ ------------ ----------- ----------- ------------ --------------
RO-Multiple Object Reuse (fast object reuse)
92,007 92,007 0 7,897 2 .31
UL-User-defined
8 8 0 2 0 215.00
TQ-Queue table enqueue (DDL contention)
17 17 0 1 0 110.00
JS-Job Scheduler (queue lock)
27,188 27,188 0 12 0 5.00
PS-PX Process Reservation
684 576 108 7 0 .00
TX-Transaction (allocate ITL entry)
2 2 0 2 0 .00
-------------------------------------------------------------

Undo Segment Summary DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> Min/Max TR (mins) - Min and Max Tuned Retention (minutes)
-> STO - Snapshot Too Old count, OOS - Out of Space count
-> Undo segment block stats:
-> uS - unexpired Stolen, uR - unexpired Released, uU - unexpired reUsed
-> eS - expired Stolen, eR - expired Released, eU - expired reUsed

Undo Num Undo Number of Max Qry Max Tx Min/Max STO/ uS/uR/uU/
TS# Blocks (K) Transactions Len (s) Concurcy TR (mins) OOS eS/eR/eU
---- ---------- --------------- -------- -------- --------- ----- --------------
1 30.0 123,202 790 34 40/40 0/0 0/0/0/0/0/0
-------------------------------------------------------------

Undo Segment Stats DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> Most recent 35 Undostat rows, ordered by Time desc

Num Undo Number of Max Qry Max Tx Tun Ret STO/ uS/uR/uU/
End Time Blocks Transactions Len (s) Concy (mins) OOS eS/eR/eU
------------ ----------- ------------ ------- ------- ------- ----- ------------
04-Dec 10:54 20,273 96,482 790 34 40 0/0 0/0/0/0/0/0
04-Dec 10:44 9,502 25,044 189 3 40 0/0 0/0/0/0/0/0
04-Dec 10:34 9 305 0 1 40 0/0 0/0/0/0/0/0
04-Dec 10:24 34 494 0 3 40 0/0 0/0/0/0/0/0
04-Dec 10:14 48 341 0 2 40 0/0 0/0/0/0/0/0
04-Dec 10:04 143 536 0 3 40 0/0 0/0/0/0/0/0

97
-------------------------------------------------------------

-------------------------------------------------------------

Segments by Logical Reads DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> Total Logical Reads: 45,583,354
-> Captured Segments account for 54.1% of Total

Tablespace Subobject Obj. Logical


Owner Name Object Name Name Type Reads %Total
---------- ---------- -------------------- ---------- ----- ------------ -------
SYS SYSTEM I_OBJAUTH1 INDEX 5,730,272 12.57
SYS SYSTEM I_IND1 INDEX 2,465,296 5.41
** UNAVAIL ** UNAVAIL ** UNAVAILABLE ** AILABLE ** UNDEF 2,126,640 4.67
SYS SYSTEM IND$ TABLE 1,407,376 3.09
SYS SYSTEM SEG$ TABLE 1,002,864 2.20
-------------------------------------------------------------

Segments by Physical Reads DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> Total Physical Reads: 386,844
-> Captured Segments account for 60.3% of Total

Tablespace Subobject Obj. Physical


Owner Name Object Name Name Type Reads %Total
---------- ---------- -------------------- ---------- ----- ------------ -------
TE_UNL ACETP_DATA INX TABLE 223,328 57.73
SYS SYSTEM I_FILE#_BLOCK# INDEX 5,473 1.41
TE_UNL ACETP_DATA SCH_EVT_LOG TABLE 760 .20
SYS SYSTEM I_HH_OBJ#_INTCOL# INDEX 623 .16
SYS SYSTEM I_COL1 INDEX 536 .14
-------------------------------------------------------------

Segments by Row Lock Waits DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> % of Capture shows % of row lock waits for each top segment compared
-> with total row lock waits for all segments captured by the Snapshot

Row
Tablespace Subobject Obj. Lock % of
Owner Name Object Name Name Type Waits Capture
---------- ---------- -------------------- ---------- ----- ------------ -------
SYS SYSTEM ICOL$ TABLE 19 26.03
TE_UNL OUZELUM_IN PK_ACETP_VERSION INDEX 14 19.18
SYS SYSTEM COL$ TABLE 9 12.33
CL_SFE ACETP_INDX PK_CB_MSG INDEX 8 10.96
SYS SYSTEM IND$ TABLE 6 8.22
-------------------------------------------------------------

Segments by ITL Waits DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> % of Capture shows % of ITL waits for each top segment compared
-> with total ITL waits for all segments captured by the Snapshot

Tablespace Subobject Obj. ITL % of


Owner Name Object Name Name Type Waits Capture
---------- ---------- -------------------- ---------- ----- ------------ -------
SYS SYSTEM SEG$ TABLE 2 100.00
-------------------------------------------------------------

Segments by Buffer Busy Waits DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> % of Capture shows % of Buffer Busy Waits for each top segment compared
-> with total Buffer Busy Waits for all segments captured by the Snapshot

Buffer
Tablespace Subobject Obj. Busy % of
Owner Name Object Name Name Type Waits Capture
---------- ---------- -------------------- ---------- ----- ------------ -------
SYS SYSTEM SEG$ TABLE 11 37.93
SYS SYSTEM I_CON2 INDEX 10 34.48
SYS SYSTEM I_SCHEDULER_JOB4 INDEX 3 10.34
SYS SYSTEM I_FILE#_BLOCK# INDEX 2 6.90
** UNAVAIL ** UNAVAIL ** UNAVAILABLE ** AILABLE ** UNDEF 1 3.45
-------------------------------------------------------------

Dictionary Cache Stats DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> "Pct Misses" should be very low ( 2% in most cases)
-> "Final Usage" is the number of cache entries being used

Get Pct Scan Pct Mod Final

98
Cache Requests Miss Reqs Miss Reqs Usage
------------------------- ------------ ------ ------- ----- -------- ----------
dc_awr_control 65 0.0 0 N/A 2 1
dc_constraints 33,785 66.5 0 N/A 33,784 22,520
dc_database_links 32,783 0.0 0 N/A 19 37
dc_global_oids 44,602 0.1 0 N/A 26 310
dc_histogram_data 55,718 0.3 0 N/A 390 13,282
dc_histogram_defs 405,248 19.9 0 N/A 34,371 198,199
dc_object_grants 106,029 0.1 0 N/A 0 1,334
dc_object_ids 1,138,608 2.0 0 N/A 10,637 91,689
dc_objects 429,960 6.0 0 N/A 41,275 89,118
dc_profiles 292 0.0 0 N/A 0 1
dc_rollback_segments 1,837 0.0 0 N/A 0 86
dc_segments 349,194 5.9 0 N/A 55,074 134,365
dc_sequences 1,952 92.6 0 N/A 1,952 2,274
dc_table_scns 2,063 100.0 0 N/A 0 0
dc_tablespace_quotas 21,358 0.0 0 N/A 1,463 180
dc_tablespaces 437,141 0.0 0 N/A 0 16
dc_usernames 115,061 0.0 0 N/A 0 117
dc_users 1,024,497 0.0 0 N/A 9 212
global database name 2 0.0 0 N/A 0 1
outstanding_alerts 90 0.0 0 N/A 0 15
-------------------------------------------------------------

Library Cache Activity DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> "Pct Misses" should be very low

Get Pct Pin Pct Invali-


Namespace Requests Miss Requests Miss Reloads dations
--------------- ------------ ------ -------------- ------ ---------- --------
BODY 609 20.5 41,592 0.7 74 0
CLUSTER 53 0.0 61 0.0 0 0
INDEX 12,043 63.7 43,847 34.6 3,740 0
SQL AREA 301,278 26.0 2,612,563 5.1 4,009 14,904
TABLE/PROCEDURE 40,296 18.8 579,631 7.1 10,616 0
TRIGGER 15,951 0.0 75,401 0.0 0 0
-------------------------------------------------------------

Process Memory Summary DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> B: Begin snap E: End snap
-> All rows below contain absolute values (i.e. not diffed over the interval)
-> Max Alloc is Maximum PGA Allocation size at snapshot time
-> Hist Max Alloc is the Historical Max Allocation for still-connected processes
-> ordered by Begin/End snapshot, Alloc (MB) desc

Hist
Avg Std Dev Max Max
Alloc Used Alloc Alloc Alloc Alloc Num Num
Category (MB) (MB) (MB) (MB) (MB) (MB) Proc Alloc
- -------- --------- --------- -------- -------- ------- ------- ------ ------
B Other 107.4 N/A 1.0 1.1 11 59 110 110
Freeable 49.9 .0 1.0 1.9 11 N/A 49 49
SQL 23.0 12.1 .2 .7 5 43 96 79
PL/SQL 3.6 2.1 .0 .0 0 0 110 110
E Other 116.8 N/A 1.0 1.4 11 59 115 115
Freeable 42.1 .0 .9 1.2 8 N/A 46 46
SQL 21.0 11.0 .2 .7 5 43 101 89
PL/SQL 3.8 2.2 .0 .0 0 0 115 115
-------------------------------------------------------------

SGA Memory Summary DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441

End Size (Bytes)


SGA regions Begin Size (Bytes) (if different)
------------------------------ ------------------- -------------------
Database Buffers 4,831,838,208
Fixed Size 2,118,256
Redo Buffers 14,655,488
Variable Size 8,036,289,936
-------------------
sum 12,884,901,888
-------------------------------------------------------------

SGA breakdown difference DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441


-> ordered by Pool, Name
-> N/A value for Begin MB or End MB indicates the size of that Pool/Name was
insignificant, or zero in that snapshot

99
Pool Name Begin MB End MB % Diff
------ ------------------------------ -------------- -------------- -------
java free memory 121.2 121.2 0.00
java joxlod exec hp 6.7 6.7 0.00
large free memory 128.0 128.0 0.00
shared CCursor 469.7 566.4 20.60
shared Heap0: KGL 102.0 111.9 9.75
shared KGLS heap 148.3 178.8 20.57
shared KQR L PO 74.7 87.1 16.56
shared KQR M PO 193.7 220.3 13.71
shared PCursor 503.8 481.4 -4.43
shared free memory 1,259.7 715.9 -43.17
shared kglsim heap 81.8 81.8 0.00
shared kglsim object batch 118.7 118.7 0.00
shared library cache 496.0 512.4 3.30
shared obj stat memo 1,139.4 1,142.3 0.25
shared object level 209.9 210.4 0.25
shared sql area 1,711.7 1,919.6 12.14
shared sql area:PLSQL 163.9 314.7 91.97
stream Sender info 9.2 9.2 0.15
stream free memory 14.5 14.5 -0.01
stream kgqmsub .3 .3 0.11
stream kwqbcqini:spilledovermsgs 1.3 1.3 0.16
stream recov_kgqmsub .9 .9 0.12
buffer_cache 4,608.0 4,608.0 0.00
fixed_sga 2.0 2.0 0.00
log_buffer 14.0 14.0 0.00
-------------------------------------------------------------

init.ora Parameters DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441

End value
Parameter Name Begin value (if different)
----------------------------- --------------------------------- --------------
O7_DICTIONARY_ACCESSIBILITY TRUE
_b_tree_bitmap_plans FALSE
_complex_view_merging TRUE
_cursor_features_enabled 10
_high_priority_processes LGWR
_kks_use_mutex_pin FALSE
_like_with_bind_as_equality TRUE
_optim_peek_user_binds FALSE
_trace_files_public TRUE
aq_tm_processes 4
audit_file_dest /apps/oracle/adm/ATPEUD10/adump
background_dump_dest /apps/oracle/adm/ATPEUD10/bdump
compatible 10.2.0
control_files /apps/oracledata/ATPEUD10/osys/co
core_dump_dest /apps/oracle/adm/ATPEUD10/cdump
cursor_sharing EXACT
db_block_size 8192
db_cache_advice ON
db_cache_size 4294967296
db_domain FR.NET.INTRA
db_files 1500
db_keep_cache_size 536870912
db_name ATPEUD10
db_writer_processes 10
disk_asynch_io TRUE
event 1410 trace name systemstate level
fast_start_mttr_target 1800
fast_start_parallel_rollback HIGH
filesystemio_options none
global_names FALSE
instance_name ATPEUD10
java_pool_size 134217728
java_soft_sessionspace_limit 4400
job_queue_processes 2
large_pool_size 134217728
log_buffer 14211072
log_checkpoint_timeout 0
log_checkpoints_to_alert TRUE
max_dump_file_size UNLIMITED
nls_language AMERICAN
nls_territory AMERICA
open_cursors 1000

100
open_links 10
optimizer_dynamic_sampling 0
optimizer_index_caching 90
optimizer_index_cost_adj 25
os_authent_prefix
parallel_max_servers 48
pga_aggregate_target 2147483648
processes 2000
recovery_parallelism 4
remote_dependencies_mode SIGNATURE
remote_login_passwordfile NONE
remote_os_authent FALSE
resource_limit TRUE
resource_manager_plan
service_names ATPEUD10, ATPEUD10_WEBLOGIC, ATPE
session_cached_cursors 1000
sga_max_size 12884901888
shared_pool_reserved_size 268435456
init.ora Parameters DB/Inst: ATPEUD10/ATPEUD10 Snaps: 24440-24441

End value
Parameter Name Begin value (if different)
----------------------------- --------------------------------- --------------
shared_pool_size 7516192768
skip_unusable_indexes FALSE
spfile /apps/oracle/adm/ATPEUD10/pfile/s
star_transformation_enabled false
statistics_level typical
streams_pool_size 16777216
tape_asynch_io FALSE
timed_os_statistics 0
timed_statistics TRUE
undo_management AUTO
undo_retention 2400
undo_tablespace UNDOTBS
user_dump_dest /apps/oracle/adm/ATPEUD10/udump
workarea_size_policy AUTO
-------------------------------------------------------------

End of Report

101
Annexe 3
Note du support Oracle N° 793845.1 (« Higher 'direct path read' Waits in
11g when Compared to 10g”)

Higher 'direct path read' Waits in 11g when Compared to 10g (Doc ID 793845.1)

Modified: 20-May-2013 Type: PROBLEM

In this Document
Symptoms
Changes
Cause
Solution
References

APPLIES TO:
Oracle Database - Enterprise Edition - Version 11.1.0.6 and later
Information in this document applies to any platform.

SYMPTOMS
Intermittent but noticeable increase in 'direct path read' waits were observed in 11g when
compared to Oracle 10g. For example, top 5 events:

Top 5 Timed Foreground Events


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Avg
wait % DB
Event Waits Time(s) (ms) time Wait Class
------------------------------ ------------ ----------- ------ ------ ----------
DB CPU 13,916 42.1
direct path read 1,637,344 13,359 8 40.4 User I/O
db file sequential read 47,132 1,111 24 3.4 User I/O
DFS lock handle 301,278 1,028 3 3.1 Other
db file parallel read 14,724 554 38 1.7 User I/O

Typically these will be higher at times where many serial Full Table Scans of Tables occur
Using Automatic Shared Memory Management (ASMM)
Database upgraded from 10g to 11g

CHANGES
Database upgraded from 10g to 11g

CAUSE
In 10g, serial table scans for "large" tables go through the buffer cache (by default).
In 11g, there has a been a change in the rules that choose between using 'direct path reads'
and reads through the buffer cache for serial (i.e. non-parallel) table scans. This decision is
based on the size of the table, buffer cache size and various other statistics. Since Direct path
reads are faster than scattered reads and have less impact on other processes because they
avoid latches it is likely that they will be chosen for such reads in 11g and above.

102
The choice can vary over time for the same tables, for example, when using Automatic Shared
Memory Management (ASMM) with the buffer cache low limit set low when compared to the
normal workload requirements (and usually after startup), 11g might choose to do serial direct
path read scans for large tables that do not fit in the SGA. When ASMM increases the buffer
cache due to increased demand, 11g might then change to go through the buffer cache for
these same large tables.

SOLUTION
If you feel the waits are too high and you get better performance from queries by going
through the cache then you can note the buffer cache and share pool requirements for a
normal workload and set the low limits of buffer cache and shared pool in spfile/pfile close to
these normal workload values using the db_cache_size and shared_pool_size
parameters. The danger with this approach is that you may end up with suboptimal sizes
generally.

Another 'solution' would be to look at the peformance of the queries waiting for the 'direct
path read' events.
Perhaps they could be tuned or need to be executed in parallel? You can use ASH reports to
identify the SQL that is waiting and then use tuning advisors or manual methods to improve
the performance of the queries.

REFERENCES
NOTE:745216.1 - * Query Performance Degradation - Upgrade Related - Recommended
Actions

103
Annexe 4
Note du support Oracle N° 835701.1 (« Query Fails With ORA-
00918 After Upgrade to 11g »)

Query Fails With ORA-00918 After Upgrade to 11g (Doc ID 835701.1)

Modified: 01-Mar-2013 Type: PROBLEM


In this Document
Symptoms
Cause
Solution
References

This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process
and therefore has not
been subject to an independent technical review.

APPLIES TO:
Oracle Server - Enterprise Edition - Version: 10.2.0.5 to 11.2.0.2 - Release: 10.2 to 11.2
Information in this document applies to any platform.
Checked for relevance on 10-Nov-2010

SYMPTOMS
Query that worked fine in 10.2 is now failing with ORA-918 in 11g

For example:
SELECT PROJECT_ID,
PROJ_VERSION_NO,
NAME ,
DESCRIPTION ,
LAST_CHANGED_DATE
FROM leeh.PW2_PROJECT
JOIN
(SELECT PROJECT_ID AS MAX_ID,
MAX(PROJ_VERSION_NO) AS MAX_VERSION
FROM leeh.PW2_PROJECT
GROUP BY PROJECT_ID
) T
ON PROJECT_ID = MAX_ID
AND PROJ_VERSION_NO = MAX_VERSION
WHERE PROJ_VERSION_NO > 0;
ORA-00918: column ambiguously defined

CAUSE
This problem has been described in the following bugs:
Bug 7343313 ORA-918 OCCURS, WHEN RUNNING ANSI JOIN SQL IN 11G. IT WORK FINE IN
10G.
which was closed as duplicate of
Bug 6760937 SELECT STATEMENT WORKS IN 10G BUT NOT 11G
In Bug 6760937, it is explained that due to the fix in Bug 5368296,

104
it is an expected behavior to see an ORA-918 now in 11g, and may be observed in 10.2.0.5 as
well.

SOLUTION
This is an expected behavior. You need to qualify ambiguous names in the select list.
To assist with finding duplicate column names in different tables and thus should have the
table name (or alias)
explicitly defined, you can use the query like below:

-- Just replace 'HR' with your proper schema name


-- The 'HR' schema name is used here as it indeed shows duplicate column names
select o.table_name,
o.column_name
from dba_tab_cols o
where owner='HR'
and o.column_name in
(select i.column_name
from dba_tab_cols i
where owner = 'HR'
and i.table_name <> o.table_name
)
order by o.column_name;

REFERENCES
BUG:5368296 - SQL NOT GENERATING ORA-00918 WHEN USING JOIN

105
Annexe 5
Résultats complets des tests de non-régression

Pourcentage de requêtes selon la différence unitaire entre 10g et 11g


Production Branche Date Version testée <0s entre 0 et 0,001 s entre 0,001 et 0,01 s entre 0,01 et 0,1 s >0,1 s
PROD 2 ITMM 03/02/2013 R43-A 15 35 31 9 10
PROD 2 ITMM 10/02/2013 R43-B 13 33 31 11 12
PROD 2 ITMM 17/02/2013 R43-C 12 31 30 10 17
PROD 2 ITMM 24/02/2013 R43-CP2 20 31 31 8 10
PROD 2 ITMM 03/03/2013 R43-CP3 22 27 31 10 10
PROD 2 ITMM 10/03/2013 R43-CP4 25 29 29 9 8
PROD 2 ITMM 17/03/2013 R43-CP5 25 30 26 11 8
PROD 2 ITMM 24/03/2013 R43-CP6 26 30 25 10 9
PROD 3 AU2S 31/03/2013 R44-C 25 29 26 9 11
PROD 3 BRSP 31/03/2013 R44-C 27 30 24 11 8
PROD 3 HKHH 31/03/2013 R44-C 24 28 23 12 13
PROD 3 INBB 31/03/2013 R44-C 25 29 22 12 12
PROD 3 SGSG 31/03/2013 R44-C 25 28 24 12 11
PROD 3 AU2S 14/04/2013 R44-CP1 23 29 26 11 11
PROD 3 BRSP 14/04/2013 R44-CP1 25 30 25 11 9
PROD 3 HKHH 14/04/2013 R44-CP1 28 31 22 10 9
PROD 3 INBB 14/04/2013 R44-CP1 27 30 22 10 11
PROD 3 SGSG 14/04/2013 R44-CP1 28 31 21 9 11
PROD 1 DEFF 21/04/2013 R44-CP2 30 32 20 11 7
PROD 1 HUHX 21/04/2013 R44-CP2 28 33 20 11 8
PROD 1 PLPX 21/04/2013 R44-CP2 29 31 21 10 9
PROD 2 ITMM 21/04/2013 R44-CP2 28 35 20 12 5
PROD 3 AU2S 21/04/2013 R44-CP2 27 33 20 11 9
PROD 3 BRSP 21/04/2013 R44-CP2 29 32 19 12 8
PROD 3 HKHH 21/04/2013 R44-CP2 28 34 20 11 7
PROD 3 INBB 21/04/2013 R44-CP2 28 32 21 12 7
PROD 3 SGSG 21/04/2013 R44-CP2 28 30 22 12 8
PROD 1 DEFF 28/04/2013 R44-CP3 31 32 20 11 6

106
Pourcentage de requêtes selon la différence unitaire entre 10g et 11g
Production Branche Date Version testée <0s entre 0 et 0,001 s entre 0,001 et 0,01 s entre 0,01 et 0,1 s >0,1 s
PROD 1 HUHX 28/04/2013 R44-CP3 29 31 20 11 9
PROD 1 PLPX 28/04/2013 R44-CP3 29 30 23 10 8
PROD 2 ITMM 28/04/2013 R44-CP3 29 34 19 12 6
PROD 3 AU2S 28/04/2013 R44-CP3 28 33 20 11 8
PROD 3 BRSP 28/04/2013 R44-CP3 29 32 19 12 8
PROD 3 HKHH 28/04/2013 R44-CP3 28 34 20 11 7
PROD 3 INBB 28/04/2013 R44-CP3 28 32 21 12 7
PROD 3 SGSG 28/04/2013 R44-CP3 28 31 21 11 9
PROD 2 ITMM 05/05/2013 R44-CP4 52 26 16 3 3
PROD 3 AU2S 05/05/2013 R44-CP4 51 28 13 4 4
PROD 3 BRSP 05/05/2013 R44-CP4 52 28 15 4 1
PROD 3 HKHH 05/05/2013 R44-CP4 53 29 14 3 1
PROD 3 INBB 05/05/2013 R44-CP4 48 27 16 8 1
PROD 3 SGSG 05/05/2013 R44-CP4 52 24 19 4 1
PROD 2 ITMM 12/05/2013 R44-CP5 51 25 19 4 1
PROD 3 AU2S 12/05/2013 R44-CP5 53 25 18 3 1
PROD 3 BRSP 12/05/2013 R44-CP5 54 21 19 4 2
PROD 3 HKHH 12/05/2013 R44-CP5 53 22 21 3 1
PROD 3 INBB 12/05/2013 R44-CP5 51 23 19 5 2
PROD 3 SGSG 12/05/2013 R44-CP5 53 23 19 5 0
PROD 1 DEFF 19/05/2013 R44-CP7 49 24 24 2 1
PROD 1 HUHX 19/05/2013 R44-CP7 52 25 19 3 1
PROD 1 PLPX 19/05/2013 R44-CP7 49 24 20 5 2
PROD 3 AU2S 26/05/2013 R44-CP7 54 21 18 6 1
PROD 3 BRSP 26/05/2013 R44-CP7 53 26 16 3 2
PROD 3 HKHH 26/05/2013 R44-CP7 53 23 16 4 4
PROD 3 INBB 26/05/2013 R44-CP7 52 21 20 5 2
PROD 3 SGSG 26/05/2013 R44-CP7 51 20 18 7 4
PROD 1 DEFF 26/05/2013 R44-CP8 50 22 19 7 2
PROD 1 HUHX 26/05/2013 R44-CP8 52 21 19 6 2
PROD 1 PLPX 26/05/2013 R44-CP8 52 23 21 4 0
PROD 1 DEFF 02/06/2013 R44-CP9 50 24 20 5 1
PROD 1 HUHX 02/06/2013 R44-CP9 54 22 19 4 1
PROD 1 PLPX 02/06/2013 R44-CP9 55 22 20 2 1
PROD 3 AU2S 02/06/2013 R44-CP9 53 23 20 3 1
PROD 3 BRSP 02/06/2013 R44-CP9 52 21 21 5 1
107
Pourcentage de requêtes selon la différence unitaire entre 10g et 11g
Production Branche Date Version testée <0s entre 0 et 0,001 s entre 0,001 et 0,01 s entre 0,01 et 0,1 s >0,1 s
PROD 3 HKHH 02/06/2013 R44-CP9 53 23 19 4 1
PROD 3 INBB 02/06/2013 R44-CP9 54 24 20 1 1
PROD 2 ITMM 09/06/2013 R44-CP9 53 22 23 1 1
PROD 1 DEFF 09/06/2013 R45-B 54 21 21 3 1
PROD 1 HUHX 09/06/2013 R45-B 55 23 18 4 0
PROD 1 PLPX 09/06/2013 R45-B 54 23 22 1 0
PROD 1 DEFF 16/06/2013 R45-C 56 21 21 2 0
PROD 1 HUHX 16/06/2013 R45-C 52 23 21 3 1
PROD 1 PLPX 16/06/2013 R45-C 54 20 21 4 1
PROD 2 ITMM 23/06/2013 R45-C 55 24 21 0 0
PROD 3 AU2S 23/06/2013 R45-C 52 25 22 1 0
PROD 3 BRSP 23/06/2013 R45-C 52 23 23 0 2
PROD 3 HKHH 23/06/2013 R45-C 53 22 19 0 6
PROD 3 INBB 23/06/2013 R45-C 55 21 24 0 0
PROD 3 SGSG 23/06/2013 R45-C 53 22 19 3 3
PROD 1 DEFF 07/07/2013 R45-D 51 21 23 3 2
PROD 1 HUHX 07/07/2013 R45-D 56 26 18 0 0
PROD 1 PLPX 07/07/2013 R45-D 55 25 20 0 0
PROD 3 AU2S 07/07/2013 R45-D 57 23 20 0 0
PROD 3 BRSP 07/07/2013 R45-D 56 24 20 0 0
PROD 3 HKHH 07/07/2013 R45-D 56 26 18 0 0
PROD 3 INBB 07/07/2013 R45-D 57 26 17 0 0
PROD 3 SGSG 07/07/2013 R45-D 54 28 18 0 0
PROD 1 DEFF 14/07/2013 R45-CP4 58 24 18 0 0
PROD 1 FRPP 14/07/2013 R45-CP4 61 23 16 0 0
PROD 1 HUHX 14/07/2013 R45-CP4 62 22 16 0 0
PROD 1 PLPX 14/07/2013 R45-CP4 63 22 15 0 0
PROD 3 AU2S 14/07/2013 R45-CP4 63 22 15 0 0
PROD 3 BRSP 14/07/2013 R45-CP4 64 22 14 0 0
PROD 3 HKHH 14/07/2013 R45-CP4 66 19 15 0 0
PROD 3 INBB 14/07/2013 R45-CP4 62 22 16 0 0
PROD 1 DEFF 21/07/2013 R45-CP5 63 21 16 0 0
PROD 1 FRPP 21/07/2013 R45-CP5 62 21 17 0 0
PROD 1 HUHX 21/07/2013 R45-CP5 64 19 17 0 0
PROD 1 PLPX 21/07/2013 R45-CP5 62 21 17 0 0
PROD 3 AU2S 21/07/2013 R45-CP5 62 19 19 0 0
108
Pourcentage de requêtes selon la différence unitaire entre 10g et 11g
Production Branche Date Version testée <0s entre 0 et 0,001 s entre 0,001 et 0,01 s entre 0,01 et 0,1 s >0,1 s
PROD 3 BRSP 21/07/2013 R45-CP5 62 20 18 0 0
PROD 3 HKHH 21/07/2013 R45-CP5 63 20 17 0 0
PROD 3 INBB 21/07/2013 R45-CP5 63 21 16 0 0
PROD 1 DEFF 28/07/2013 R45-CP6 62 19 19 0 0
PROD 1 FRPP 28/07/2013 R45-CP6 66 18 16 0 0
PROD 1 HUHX 28/07/2013 R45-CP6 62 20 18 0 0
PROD 1 PLPX 28/07/2013 R45-CP6 63 20 17 0 0
PROD 2 ITMM 28/07/2013 R45-CP6 64 19 17 0 0
PROD 1 DEFF 11/08/2013 R45-CP7 63 19 18 0 0
PROD 1 FRPP 11/08/2013 R45-CP7 62 21 17 0 0
PROD 1 HUHX 11/08/2013 R45-CP7 63 20 17 0 0
PROD 1 PLPX 11/08/2013 R45-CP7 62 19 19 0 0
PROD 2 ITMM 11/08/2013 R45-CP7 64 18 18 0 0
PROD 3 AU2S 11/08/2013 R45-CP7 66 17 17 0 0
PROD 3 BRSP 11/08/2013 R45-CP7 65 19 16 0 0
PROD 3 HKHH 11/08/2013 R45-CP7 66 18 16 0 0
PROD 3 INBB 11/08/2013 R45-CP7 64 20 16 0 0
PROD 3 SGSG 11/08/2013 R45-CP7 63 21 16 0 0
PROD 1 FRPP 18/08/2013 R45-CP8 66 20 14 0 0
PROD 1 HUHX 18/08/2013 R45-CP8 62 20 18 0 0
PROD 1 PLPX 18/08/2013 R45-CP8 66 20 14 0 0
PROD 2 ITMM 18/08/2013 R46-B 65 20 15 0 0
PROD 3 AU2S 18/08/2013 R46-B 65 19 16 0 0
PROD 3 BRSP 18/08/2013 R46-B 66 19 15 0 0
PROD 3 HKHH 18/08/2013 R46-B 64 21 15 0 0
PROD 3 INBB 18/08/2013 R46-B 66 19 15 0 0
PROD 3 SGSG 18/08/2013 R46-B 67 19 14 0 0
PROD 2 ITMM 25/08/2013 R46-C 67 20 13 0 0
PROD 3 AU2S 25/08/2013 R46-C 65 21 14 0 0
PROD 3 BRSP 25/08/2013 R46-C 65 22 13 0 0
PROD 3 HKHH 25/08/2013 R46-C 67 21 12 0 0
PROD 3 INBB 25/08/2013 R46-C 67 19 14 0 0
PROD 3 SGSG 25/08/2013 R46-C 68 18 14 0 0
PROD 1 DEFF 01/09/2013 R46-D 68 21 11 0 0
PROD 1 FRPP 01/09/2013 R46-D 67 19 14 0 0
PROD 1 HUHX 01/09/2013 R46-D 68 19 13 0 0
109
Pourcentage de requêtes selon la différence unitaire entre 10g et 11g
Production Branche Date Version testée <0s entre 0 et 0,001 s entre 0,001 et 0,01 s entre 0,01 et 0,1 s >0,1 s
PROD 1 PLPX 01/09/2013 R46-D 69 19 12 0 0
PROD 2 ITMM 01/09/2013 R46-D 66 21 13 0 0
PROD 3 AU2S 01/09/2013 R46-D 66 21 13 0 0
PROD 3 BRSP 01/09/2013 R46-D 65 20 15 0 0
PROD 3 HKHH 01/09/2013 R46-D 69 18 13 0 0
PROD 3 INBB 01/09/2013 R46-D 67 20 13 0 0
PROD 3 SGSG 01/09/2013 R46-D 70 17 13 0 0
PROD 3 AU2S 08/09/2013 R46-DP1 71 17 12 0 0
PROD 3 BRSP 08/09/2013 R46-DP1 72 17 11 0 0
PROD 3 HKHH 08/09/2013 R46-DP1 71 18 11 0 0
PROD 3 INBB 08/09/2013 R46-DP1 73 15 12 0 0
PROD 3 SGSG 08/09/2013 R46-DP1 71 17 12 0 0
PROD 3 BRSP 15/09/2013 R46-DP2 72 15 13 0 0
PROD 3 HKHH 15/09/2013 R46-DP2 72 19 9 0 0
PROD 3 INBB 15/09/2013 R46-DP2 71 19 10 0 0
PROD 3 SGSG 15/09/2013 R46-DP2 71 17 12 0 0
PROD 1 DEFF 06/10/2013 R46-DP3 75 16 9 0 0
PROD 1 FRPP 06/10/2013 R46-DP3 72 16 12 0 0
PROD 1 HUHX 06/10/2013 R46-DP3 72 17 11 0 0
PROD 1 PLPX 06/10/2013 R46-DP3 74 16 10 0 0
PROD 2 ITMM 06/10/2013 R46-DP3 72 16 12 0 0
PROD 3 AU2S 06/10/2013 R46-DP3 72 16 12 0 0
PROD 3 BRSP 06/10/2013 R46-DP3 72 15 13 0 0
PROD 3 HKHH 06/10/2013 R46-DP3 73 15 12 0 0
PROD 3 INBB 06/10/2013 R46-DP3 75 15 10 0 0
PROD 3 SGSG 06/10/2013 R46-DP3 74 14 12 0 0
PROD 2 ITMM 13/10/2013 R46-DP4 74 13 13 0 0
PROD 3 AU2S 13/10/2013 R46-DP4 74 15 11 0 0
PROD 3 BRSP 13/10/2013 R46-DP4 74 15 11 0 0
PROD 3 HKHH 13/10/2013 R46-DP4 75 13 12 0 0
PROD 3 INBB 13/10/2013 R46-DP4 74 14 12 0 0
PROD 3 SGSG 13/10/2013 R46-DP4 74 15 11 0 0

110


$QQH[H
(WXGHVXUOHUHVXOWFDFKH

3UpVHQWDWLRQ

/H UHVXOW FDFKH HQ IUDQoDLV FDFKH GH UpVXOWDW  HVW XQH QRXYHDXWp G¶2UDFOH J TXL pWDLW
DWWHQGXHSDUEHDXFRXSGHVHVXWLOLVDWHXUVHWTXLFRQVLVWHWRXWVLPSOHPHQWjPHWWUHHQFDFKH
OHUpVXOWDWGHFHUWDLQHVUHTXrWHVHWIRQFWLRQVDILQGHUpXWLOLVHUORUVTXHFHODHVWSRVVLEOHFH
UpVXOWDW 'DQV OD PHVXUH R OHV DFFqV HQ PpPRLUH VRQW SOXV UDSLGHV TXH FHX[ VXU GLVTXH
FHWWHIRQFWLRQQDOLWpHVWVXVFHSWLEOHG¶DPpOLRUHUOHVSHUIRUPDQFHVGHFHUWDLQHVUHTXrWHV

,OH[LVWHHQUpDOLWpFDFKHV
•/HFDFKHGHUHTXrWHV64/
•/HFDFKHGHIRQFWLRQV3/64/
•/HFDFKHFOLHQW2&, TXLQHVHUDSDVpWXGLpLFL2&,Q¶pWDQWSDVXWLOLVpVXU$FH73 

/HFDFKHGHUHTXrWHVHWFHOXLGHIRQFWLRQV3/64/VRQWGHX[FRPSRVDQWHVGXVHUYHUUHVXOW
FDFKHXQHQRXYHOOH]RQHPpPRLUHGHOD6*$

/HFDFKHGHUHTXrWHV64/

,O VH SRVLWLRQQH SDU O¶LQWHUPpGLDLUH GX SDUDPqWUH 5(68/7B&$&+(B02'( TXL SHXW
SUHQGUHO¶XQHGHVYDOHXUVVXLYDQWHV
•0$18$/ YDOHXUSDUGpIDXW SRXUTX¶XQHUHTXrWHVRLWSODFpHHQFDFKHLOIDXWOH
VSpFLILHUYLDXQKLQWRXHQOHSUpFLVDQWjODFUpDWLRQGHODWDEOH
•$872&KDTXHUpVXOWDWGHUHTXrWHHVWSODFpHQFDFKH

'qVTX¶XQHPRGLILFDWLRQHVWHIIHFWXpHVXUXQHWDEOH LQVHUWLRQPRGLILFDWLRQVXSSUHVVLRQ
RUGUH''/HWF WRXVOHVUpVXOWDWVGHUHTXrWHVSODFpVGDQVOHFDFKHFRQFHUQDQWFHWWHWDEOH
VRQW LQYDOLGpV &¶HVW SRXUTXRL 2UDFOH QH UHFRPPDQGH SDV GH SRVLWLRQQHU OH SDUDPqWUH
5(68/7B&$&+(B02'(jODYDOHXU$872HQHIIHWSRXUFHUWDLQHVWDEOHVVXMHWWHVjGH
QRPEUHXVHV LQVHUWLRQV SDU H[HPSOH  OD EDVH GH GRQQpHV SHXW rWUH DPHQpH j PHWWUH GHV
UpVXOWDWVHQFDFKHSXLVGHOHVHQUHVVRUWLUSUHVTXHDXVVLW{W HQWUDLQDQWDLQVLGHVSUREOqPHV
G¶DWWHQWHVVXUGHVODWFKHV 

/HFDFKHGHUpVXOWDWHVWLQRSpUDQWVXUOHVUHTXrWHVXWLOLVDQW

• GHVWDEOHVWHPSRUDLUHV
• GHVVpTXHQFHV
• GHVIRQFWLRQVQRQGpWHUPLQLVWHV
• GHVIRQFWLRQVLQWpJUpHVDXPRWHXUQRQGpWHUPLQLVWHV 6<6'$7(
6<67,0(67$03HWF 


(QFRQVpTXHQFHGXIRQFWLRQQHPHQWGXFDFKHFHOXLFLHVWSDUWLFXOLqUHPHQWHIILFDFHGDQVOH
FDGUHGHVUHTXrWHVTXLFRUUHVSRQGHQWDX[FULWqUHVVXLYDQWV

 


•(OOHVVRQWH[pFXWpHVIUpTXHPPHQW
•(OOHVDFFqGHQWjGHJURVYROXPHVGHGRQQpHV
•(OOHVUHWRXUQHQWSHXGHOLJQHV
•(OOHVDFFqGHQWjGHVGRQQpHVTXLQHVRQWSDVPLVHVjMRXUIUpTXHPPHQW
$ SULRUL OH FDFKH GH UHTXrWHV 64/ HVW GRQF SDUWLFXOLqUHPHQW HIILFDFH VXU GHV UHTXrWHV
DJUpJHDQWGHVGRQQpHV UDSSRUWVSDUH[HPSOH 

9RLFLXQHSHWLWHGpPRQVWUDWLRQGHVRQXWLOLVDWLRQ

3RXUSODFHUXQHUHTXrWHGDQVOHFDFKHQRXVOHVSpFLILRQVSDUO¶LQWHUPpGLDLUHGXKLQW
 UHVXOWBFDFKH 

42- TFMFDU   SFTVMU@DBDIF  130$&44@/".&  DPVOU
 GSPN BVEJU@USBJM@NTH HSPVQ CZ
130$&44@/".&

SPXTTFMFDUFE

&MBQTFE

&YFDVUJPO1MBO

1MBOIBTIWBMVF


]*E]0QFSBUJPO]/BNF]3PXT]#ZUFT]$PTU $16
]5JNF]

]]4&-&$545"5&.&/5]]]], 
]]
]]3&46-5$"$)&]DTOKLIURZ[LRDRYCLWNWEQ]]]]]
]])"4)(3061#:]]]], 
]]
]]5"#-&"$$&44'6--]"6%*5@53"*-@.4(].].], 
]]


3FTVMU$BDIF*OGPSNBUJPO JEFOUJGJFECZPQFSBUJPOJE



DPMVNODPVOUEFQFOEFODJFT "$&51"6%*5@53"*-@.4(
QBSBNFUFST OMT
OBNFTFMFDU
 SFTVMU@DBDIF 130$&44@/".& DPVOU
GSPNBVEJU@USBJM@NTHHSPVQCZ130$&44@/".&


4UBUJTUJDT

SFDVSTJWFDBMMT
ECCMPDLHFUT
DPOTJTUFOUHFUT
QIZTJDBMSFBET
SFEPTJ[F
CZUFTTFOUWJB42- /FUUPDMJFOU
CZUFTSFDFJWFEWJB42- /FUGSPNDMJFOU
42- /FUSPVOEUSJQTUPGSPNDMJFOU
TPSUT NFNPSZ

TPSUT EJTL

SPXTQSPDFTTFE


1RXVYR\RQVLFLTXH
•/DUHTXrWHDWRXUQpSHQGDQWVHFRQGHV
•(OOHDUHWRXUQpOLJQHV
•2QFRQVWDWHDSSHOVUpFXUVLIVOHFWXUHVVXUGLVTXHWULHQPpPRLUH
•/HSODQG¶H[pFXWLRQLQGLTXHTXHOHUpVXOWDWDELHQpWpSODFpGDQVOHUHVXOWFDFKH

'DQVXQHGHX[LqPHVHVVLRQQRXVH[pFXWLRQVODPrPHUHTXrWH HQWUHWHPSVDXFXQHPLVHj
MRXUQ¶DOLHXVXUODWDEOH 

42- TFMFDU   SFTVMU@DBDIF  130$&44@/".&  DPVOU
 GSPN BVEJU@USBJM@NTH HSPVQ CZ
130$&44@/".&

 

59 rows selected.

Elapsed: 00:00:00.01

Execution Plan
----------------------------------------------------------
Plan hash value: 512666865

--------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 58 | 290 | 124K (3)| 00:25:00 |
| 1 | RESULT CACHE | csnjkhtqy0zkqcqxbkv3mv7d0p | | | | |
| 2 | HASH GROUP BY | | 58 | 290 | 124K (3)| 00:25:00 |
| 3 | TABLE ACCESS FULL| AUDIT_TRAIL_MSG | 44M| 209M| 122K (1)| 00:24:33 |
--------------------------------------------------------------------------------------------------

Result Cache Information (identified by operation id):


------------------------------------------------------

1 - column-count=2; dependencies=(ACETP.AUDIT_TRAIL_MSG); parameters=(nls); name="select


/*+ result_cache */ PROCESS_NAME, count(*) from audit_trail_msg group by PROCESS_NAME"

Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
0 consistent gets
0 physical reads
0 redo size
2910 bytes sent via SQL*Net to client
557 bytes received via SQL*Net from client
5 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
59 rows processed

Cette fois, nous obtenons le résultat en une seconde. Il n’y a eu aucun accès disque (« 0
physical reads ») et aucun tri en mémoire (« 0 sorts (memory) »).
Le résultat est vraiment spectaculaire.

Si on effectue une modification sur la table :


SQL> update audit_trail_msg set CAN_BE_HISTORIZED_IND=1 where rownum=1;
1 row updated.
SQL> commit;

On constate que la requête a bien été invalidée dans le cache :

Commit complete.
SQL> select PROCESS_NAME, count(*) from audit_trail_msg group by PROCESS_NAME;

59 rows selected.

Elapsed: 00:00:49.40

Execution Plan
----------------------------------------------------------
Plan hash value: 512666865

--------------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 58 | 290 | 124K (3)| 00:25:00 |
| 1 | RESULT CACHE | csnjkhtqy0zkqcqxbkv3mv7d0p | | | | |
| 2 | HASH GROUP BY | | 58 | 290 | 124K (3)| 00:25:00 |
| 3 | TABLE ACCESS FULL| AUDIT_TRAIL_MSG | 44M| 209M| 122K (1)| 00:24:33 |
--------------------------------------------------------------------------------------------------

Result Cache Information (identified by operation id):


------------------------------------------------------

113



DPMVNODPVOUEFQFOEFODJFT "$&51"6%*5@53"*-@.4(
QBSBNFUFST OMT
OBNFTFMFDU
130$&44@/".& DPVOU
GSPNBVEJU@USBJM@NTHHSPVQCZ130$&44@/".&


4UBUJTUJDT

SFDVSTJWFDBMMT
ECCMPDLHFUT
DPOTJTUFOUHFUT
QIZTJDBMSFBET
SFEPTJ[F
CZUFTTFOUWJB42- /FUUPDMJFOU
CZUFTSFDFJWFEWJB42- /FUGSPNDMJFOU
42- /FUSPVOEUSJQTUPGSPNDMJFOU
TPSUT NFNPSZ

TPSUT EJTL

SPXTQSPDFTTFE


/HFDFKHGHIRQFWLRQV3/64/

,O SHUPHW GH PHWWUH HQ FDFKH OH UpVXOWDW GH IRQFWLRQV GpWHUPLQLVWHV SRXUYX TX¶HOOHV
UHVSHFWHQWFHUWDLQHVUHVWULFWLRQV
•(OOHVQ¶DGPHWWHQWSDVGHSDUDPqWUHGHVRUWLH 287RX,1287 
•(OOHVQ¶RQWSDVGHSDUDPqWUHG¶HQWUpHGHW\SH%/2%&/2%FXUVHXU
•/HW\SHGHUHWRXUQ¶HVWSDVGHW\SH%/2%&/2%FXUVHXU
•(OOHVQHUpIpUHQFHQWSDVGHVVpTXHQFHVRXGHVIRQFWLRQVQRQGpWHUPLQLVWHV

6LXQHIRQFWLRQFRUUHVSRQGjFHVFULWqUHVLO HVWWUqVVLPSOHGHPHWWUHVRQUpVXOWDWGDQVOH
FDFKHGHIRQFWLRQV,OVXIILWGHSUpFLVHUGDQVVDGpFODUDWLRQOHPRWFOp5(68/7B&$&+(
/DFODXVH5(/,(6B21SHUPHWG¶LQGLTXHUTX¶HQFDVGHPRGLILFDWLRQVXUXQH GHV WDEOH V 
ODIRQFWLRQHVWLQYDOLGpHGXFDFKH

9RLFLXQHSHWLWHGpPRQVWUDWLRQGHVRQXWLOLVDWLRQ

7RXWG¶DERUGQRXVFUpRQVXQSHWLWSDFNDJHTXLYDQRXVSHUPHWWUHGHFDOFXOHUOHQRPEUHGH
IRLVRXQHIRQFWLRQDpWpHIIHFWLYHPHQWpWpH[pFXWpH

DSFBUFPSSFQMBDFQBDLBHF$0.15&63JT
QSPDFEVSFJOJU
QSPDFEVSFJODSFBTF
GVODUJPOHFUSFUVSOOVNCFS
FOE$0.15&63


DSFBUFPSSFQMBDFQBDLBHFCPEZ$0.15&63JT
DQU/6.#&3
QSPDFEVSFJOJUJT
CFHJO
DQU
FOE
QSPDFEVSFJODSFBTFJT
CFHJO
DQUDQU 
FOE
GVODUJPOHFUSFUVSOOVNCFSJT
CFHJO
SFUVSODQU
FOE
CFHJO
JOJU
FOE$0.15&63


 



3XLV QRXV FUpRQV GHX[ IRQFWLRQV TXL RQW OH PrPH U{OH HQ IRQFWLRQ GH OD YDOHXU GH OD
FRORQQH+6.3B67$786SDVVpHHQSDUDPqWUHODIRQFWLRQUHWRXUQH<(6RX12/DVHXOH
GLIIpUHQFHHQWUHOHVGHX[IRQFWLRQVHVWTXH
•/¶XQHLVBKGFRPSRUWHODFODXVHVXLYDQWH
5(68/7B&$&+(UHOLHVBRQ DXGLWBWUDLOBPVJ 
•/¶DXWUHLVBKGBQRBFDFKHQHFRPSRUWHSDVXQHWHOOHFODXVH
1RWRQVTXHFKDFXQHGHVGHX[IRQFWLRQVDSSHOOHODSURFpGXUH&2037(85LQFUHDVHTXLYD
QRXVSHUPHWWUHGHVDYRLUFRPELHQGHIRLVODIRQFWLRQDpWpHIIHFWLYHPHQWDSSHOpH

DSFBUFPSSFQMBDFGVODUJPOJT@IE@OP@DBDIF Q@ITLQ@TUBUVTJOWBSDIBS
SFUVSOWBSDIBS
JT
CFHJO
DPNQUFVSJODSFBTF
JGQ@ITLQ@TUBUVTh)%hUIFOSFUVSOh:&4h
FMTFSFUVSOh/0h
FOEJG
FOE


DSFBUFPSSFQMBDFGVODUJPOJT@IE Q@ITLQ@TUBUVTJOWBSDIBS
SFUVSOWBSDIBS
3&46-5@$"$)&SFMJFT@PO BVEJU@USBJM@NTH

JT
CFHJO
DPNQUFVSJODSFBTF
JGQ@ITLQ@TUBUVTh)%hUIFOSFUVSOh:&4h
FMTFSFUVSOh/0h
FOEJG
FOE


0DLQWHQDQWQRXVDSSHORQVIRLVFKDFXQHGHVGHX[IRQFWLRQV

42-CFHJO
%#.4@3&46-5@$"$)&'-64)
DPNQUFVSJOJU
    GPS CDM JO TFMFDU T"6%*5@53"*-@.4(@%#@*%   JT@IE@OP@DBDIF ITLQ@TUBUVT

JT@IE@OP@DBDIFGSPNBVEJU@USBJM@NTHTXIFSFSPXOVN

MPPQ
OVMM
FOEMPPQ

ECNT@PVUQVUQVU@MJOF h"QQFMTEFMBGPODUJPOh]]$0.15&63HFU

FOE


"QQFMTEFMBGPODUJPO

1-42-QSPDFEVSFTVDDFTTGVMMZDPNQMFUFE

6DQVVXUSULVHODIRQFWLRQLVBKGBQRBFDFKHDELHQpWpDSSHOpHIRLV

(QFHTXLFRQFHUQHODIRQFWLRQLVBKG

42-CFHJO
 %#.4@3&46-5@$"$)&'-64)
DPNQUFVSJOJU
GPSCDMJO TFMFDUT"6%*5@53"*-@.4(@%#@*% JT@IE ITLQ@TUBUVT
GSPNBVEJU@USBJM@NTH
TXIFSFSPXOVN

MPPQ
OVMM
FOEMPPQ

ECNT@PVUQVUQVU@MJOF h"QQFMTEFMBGPODUJPOh]]$0.15&63HFU

FOE


"QQFMTEFMBGPODUJPO
1-42-QSPDFEVSFTVDDFTTGVMMZDPNQMFUFE

 

Cette fois, le compteur n’a été incrémenté que deux fois, pour deux appels réels de la
fonction. Les autres appels ont retourné leur valeur du cache.

Les fonctions crées par l’utilisateur et destinées à être appelées au sein d’une requête (et
pour peu qu’elles soient déterministes) sont d’excellents candidats à être placées dans le
cache de fonctions PL/SQL.

En conclusion :

Le cache de requêtes SQL n’est pas, d’un premier abord, réellement adapté à une
application comme AceTP où de nombreuses tables sont mises à jour régulièrement. Il
semble en effet plus adapté à des environnements de type entrepôts de données (données
rarement modifiées, gros volumes, requêtes retournant peu de lignes).

Il faudra néanmoins étudier plus en détail les requêtes utilisées dans certains rapports afin
de nous rendre compte s’il est possible de les améliorer par l’intermédiaire du result cache.
Eventuellement, les requêtes sur la table HISTORICAL pourront bénéficier de ce cache.

En ce qui concerne le cache de fonctions PL/SQL, il pourra certainement contribuer à


améliorer certaines requêtes qui incluent des fonctions définies par l’utilisateur. Il nous
faudra étudier ces fonctions et nous assurer qu’elles remplissent les conditions nécessaires
à les inclure dans le cache.

116
Liste des figures
Figure 1 : Organisation du groupe BNP Paribas .............................................................................. 11
Figure 2 : Répartition du produit net bancaire par domaine d'activité (2012).................................. 12
Figure 3 : Organisation du projet AceTP ......................................................................................... 14
Figure 4 : Architecture du projet AceTP .......................................................................................... 17
Figure 5 : Alimentation des bases de données ................................................................................. 19
Figure 6 : validité du support Oracle selon les versions de base de données ................................... 21
Figure 7 : les tests sur AceTP ........................................................................................................... 24
Figure 8: Architecture d'un serveur de base de données Oracle....................................................... 26
Figure 9: Fonctionnement circulaire des fichiers de journalisation ................................................. 29
Figure 10: Les processus serveurs .................................................................................................... 30
Figure 11: Traitement d'une requête - cas général ........................................................................... 35
Figure 12 : premier plan d'exécution ................................................................................................ 38
Figure 13 : deuxième plan d'exécution............................................................................................. 39
Figure 14: fonctionnement de la sélection des données ................................................................... 40
Figure 15: fonctionnement d'une insertion ....................................................................................... 41
Figure 16: fonctionnement d'une modification (ou suppression) ..................................................... 43
Figure 17 : le fonctionnement d'AWR ............................................................................................. 44
Figure 18: la perte des données AWR.............................................................................................. 50
Figure 19: première solution envisagée ........................................................................................... 51
Figure 20: la solution mise en place ................................................................................................. 53
Figure 21 : extrait de la vue matérialisée AWR_SQL_REPORT .................................................... 60
Figure 22 : extrait de la vue matérialisée AWR_WAIT_EVENTS_REPORT ................................ 62
Figure 23 : le comparateur - onglet "Config" ................................................................................... 63
Figure 24 : le comparateur - onglet "Summary" .............................................................................. 63
Figure 25 : le comparateur - onglet "Queries" (première partie)...................................................... 64
Figure 26 : le comparateur - onglet "Queries" (deuxième partie) .................................................... 64
Figure 27 : le comparateur - onglet "Parameters" ............................................................................ 65
Figure 28 : le comparateur - onglet "Time Model" .......................................................................... 65
Figure 29 : le comparateur - onglet "Waits"..................................................................................... 66
Figure 30 : ORA-00918 - les tables d'exemple ................................................................................ 81

117
Liste des tableaux
Tableau 1 : Volumétrie des bases de données du projet AceTP (30/06/2013) ................................. 20
Tableau 2 : les différents modes de verrouillage.............................................................................. 33
Tableau 3 : description de la vue DBA_HIST_DATABASE_INSTANCE..................................... 45
Tableau 4 : description de la vue DBA_HIST_SNAPSHOT ........................................................... 46
Tableau 5 : description de la vue DBA_HIST_SQLTEXT .............................................................. 46
Tableau 6 : description de la vue DBA_HIST_SQL_PLAN............................................................ 48
Tableau 7: description de la vue DBA_HIST_SQLSTAT ............................................................... 48
Tableau 8 : description de la table AWR_COMP ............................................................................ 56
Tableau 9 : description de la vue matéralisée AWR_SQL_REPORT ............................................. 59
Tableau 10 : description de la vue matérialisée AWR_SERVICE_REPORT ................................. 60
Tableau 11 : description de la vue matérialisée AWR_SYSTAT .................................................... 61
Tableau 12 : description de la vue matérialisée AWR_WAIT_EVENTS_REPORT ...................... 61
Tableau 13 : description de la vue matérialisée AWR_TIMEMODEL_STATS ............................. 62
Tableau 14 : Les bases de données créées pour les tests de non-régression .................................... 68
Tableau 15 : Les branches sur lesquelles ont porté les tests de non-régression ............................... 69
Tableau 16 : planification des tests de non-régression ..................................................................... 70
Tableau 17 : Résultats agrégés des tests de non - régression ........................................................... 73
Tableau 18 : les bases de données à migrer...................................................................................... 77
Tableau 19 : les méthodes de migration ........................................................................................... 78
Tableau 20 : le planning des migrations........................................................................................... 80

118