Академический Документы
Профессиональный Документы
Культура Документы
de donnes
Prpar par :
1
Cours
Public cible : 2A informatique
Pr-requis
SQL
Volume Horaire: 22h30
Objectifs du module
Vous apprendrez mettre en oeuvre et administrer le SGBD Oracle.
Parmi les principaux points abords figurent l'architecture du SGBD,
l'installation, ainsi que la gestion de l'instance, des bases, des espaces de disques,
des objets, des donnes d'annulation, des utilisateurs et des droits d'accs.
Prpar par :
4
SGBD: Systme de Gestion de Bases de Donnes
Dfinition1:
Un SGBD (ou DBMS : Data Base Management System) est
un ensemble de logiciels permettant de stocker et
dinterroger un ensemble de fichiers interdpendants.
Dfinition2:
un outil permettant de modliser et de grer les donnes
dune entreprise.
SGBD: Systme de Gestion de Bases de Donnes
7
Le choix d'ORACLE
9
Histoire dOracle
10
Histoire dOracle
12
Identification du produit Oracle
Numro de version
8.0.4.0 Numro de release
du patch spcifique
Patch Section de code que l'on ajoute un logiciel, pour y apporter des modifications :
correction d'un bug.
13
Identification du produit Oracle
14
Connexion un serveur Oracle
Une connexion est un chemin de communication entre un processus
utilisateur et un processus serveur. Il existe trois types de connexions
grce auxquelles un utilisateur peut accder un Serveur Oracle :
Connexion locale : Selon cette mthode, un utilisateur est directement
connect sur la machine faisant office de Serveur Oracle.
Connexion Deux Tiers : Ce type de connexion est couramment nomm
"Connexion Client Serveur", un utilisateur se connecte partir d'une
machine directement connecte un Serveur Oracle.
Connexion Multi Tiers : Dans une architecture multi tiers, la machine de
l'utilisateur se connecte un Serveur applicatif (Par exemple un Serveur
Web) qui lui mme va se connecter au serveur Oracle pour rcuprer les
donnes issues de la BD.
16
mode de fonctionnement
:
2. Serveur Partag : cest un groupe de processus serveurs qui
soccupent dun grand nombre de processus utilisateurs.
Les processus utilisateurs sont allous un processus DISPATCHER, celui-ci
met les requtes utilisateurs dans une fille dattente, et le processus serveur
excute toutes les requtes, une par une
Avantage: Rduire la charge de la CPU et utilise moins de mmoire
17
Architecture interne dOracle
Instance
BD
Support
User Shared server Dedicated server CKPT ARCn archive
process process
DBWn LGWR
User
Control
File
Redo
Database
Log
files
21
La mmoire
22
La mmoire
Administration Oracle 23
Structures mmoire Oracle
Dans tout systme informatique, lutilisation de mmoire est synonyme
de performance. Les structures mmoire de base associes une instance
Oracle sont :
zones rserves au code de lapplicatif.
Mmoire SGA (System Global Area) : partage par tous les processus
serveur et processus en arrire-plan
Mmoire PGA (Program Global Area) : propre chaque processus serveur
et processus en arrire-plan (une mmoire PGA pour chaque processus)
24
System Global Area (SGA)
La SGA (appele aussi mmoire rserve) est une zone mmoire qui
est utilise par la BD pour partager les informations entre les diffrents
processus Oracle.
26
1. SGA - Database Buffer cache
Database Buffer cache (Cache de tampons )
ensemble de zones buffer contenant des copies de donnes lues partir
des fichiers de donnes afin d'acclrer l'interrogation et/ou la
modification.
aucune modification nest faite directement sur les donnes du disque
Oracle lit les donnes suite la demande d'un processus utilisateur et ensuite
valide les modifications sur le disque
taille dtermine par : DB_BLOCK_BUFFERS
Organisation du Database Buffer cache
Le buffer cache est organis en 2 listes :
La dirty list contient les buffers qui ont t modifis mais ne sont pas encore
Algorithme LRU
utilise un algorithme nomm LRU moins rcemment utiliss (Least-
Recently Used) pour dterminer les donnes librer du cache.
recherche dun buffer libre dans la liste LRU en commenant par le dbut arrt
ds quon trouve un buffer libre ou quon ait parcouru un certain nombre de
buffers (DB_BLOCK_SCAN_CNT)
pendant cette recherche, transfert des buffers modifis vers la dirty list
ds quon trouve un buffer libre, on crit le bloc dans le buffer et on le transfre
vers la fin de la zone MRU (Most Recently Used)
si DB_BLOCK_SCAN_CNT buffers sont parcourus et on ne trouve aucun
buffer libre, DBWR est activ pour crire les buffers modifis sur disque pour
librer leur espace.
Dirty list
LRU list
MRU
28
Vues systme utilises : V$SGA ; V$PARAMETER ;
SGA- Redo Log buffer
29
SGA - Shared Pool
Zone de mmoire partage (Shared Pool) : met en mmoire cache
diverses structures pouvant tre partages par les utilisateurs,
.
Zone de mmoire LARGE POOL : zone facultative fournissant
d'importantes allocations mmoire (lors de lexcution doprations
volumineuses) pour certains processus utilisant beaucoup de
mmoire, tels que :
les oprations de sauvegarde et de rcupration Oracle et
Paramtre LARGE_POOL_SIZE
Formule :
Taille de la SGA =
( DB_BLOCK_SIZE * DB_BLOCK_BUFFERS)
+
LOG_BUFFER + SHARED_POOL_SIZE
33
La gestion automatique de la SGA
37
Les processus autour d'Oracle
Les processus
38
Les processus utilisateurs
39
Le processus Serveur (Server)
40
Les processus en arrire-plan (BACKGROUND)
Ils grent et appliquent les relations entre les structures physiques et les
structures mmoires.
Ils effectuent des tches bien dfinies pour lensemble des utilisateurs
Ils sont lancs au dmarrage de l'instance et arrts lors de l'arrt de l'instance.
41
Les processus Oracle DBWn (Database Writer )
DBWn gre le buffer de la BD : crit, transfre sur disque le contenu des
tampons modifis (Dirty Block) dans les fichiers de donnes.
DBWn se dclenchera lors des vnements suivants :
Lorsque le nombre de bloc dirty atteint une certaine limite
Lorsqu'un processus sera la recherche de blocs libres dans le Database
Buffer Cache, et qu'il ne sera pas en mesure d'en trouver.
Lors de timeouts (environ toutes les 3 secondes par dfaut)
Lors d'un checkpoint.
Lorsqu'un utilisateur valide une transaction, elle reoit un numro SCN (System Change Number).
Ces Numros sont enregistrs dans le fichier de journalisation (pas seulement ) afin de permettre une
synchronisation dans le cas d'une reprise ou rcupration de donnes suite une dfaillance. 43
Les processus Oracle CKPT (Check Point)
CKPT n'crit pas les blocs sur le disque, c'est le rle du processus DBWn.
Provoque l'activation du DBWR pour crire les blocs modifis depuis le dernier
point de contrle,
44
Les processus Oracle CKPT (Check Point)
Les numros SCN enregistrs dans les fichiers garantissent que toutes les
modifications apportes aux blocs de BD avant un numro SCN ont t
crites sur le disque.
En cas d'arrt anormal de l'instance, ce SCN marque le dbut des donnes utiliser
pour la rcupration de l'instance.*
46
Les processus Oracle SMON (System Monitor)
Si le processus System Monitor SMON sarrte, l'instance Oracle doit tre redmarre.
47
Processus Oracle PMON (Process Monitor)
48
Processus Oracle PMON (Process Monitor)
Si le processus Process Monitor PMON sarrte, l'instance Oracle doit tre redmarre.
49
Processus Oracle - optionnels
Le listener peut tre considr comme une grande oreille qui coute les
demandes de connexion aux services Oracle.
51
Session, processus serveur et processus utilisateur
Une connexion spcifique entre un utilisateur et un serveur Oracle est
appele une Session.
La session dmarre lorsque la connexion de l'utilisateur est valide par
le serveur Oracle et se termine lorsqu'il se dconnecte ou lorsqu'une fin
de connexion prmature se produit.
De nombreuses sessions concurrentes d'un mme utilisateur ou de
plusieurs peuvent s'excuter sur le serveur Oracle.
53
Gestion dune instance Oracle
2
L'ordinateur excutant l'application (ordinateur local ou poste client)
utilise un processus utilisateur. L'application client tente d'tablir une
connexion avec l'instance en utilisant le pilote Oracle Net Services.
54
Gestion dune instance Oracle
55
Gestion dune instance Oracle
traiter une instruction SQL
4 L'utilisateur met jour une ligne
5
Le processus serveur reoit l'instruction et vrifie si elle se trouve dj
dans la zone de mmoire partage de la mmoire SGA
Si une zone SQL partage est dtecte, le processus serveur vrifie
les privilges d'accs de l'utilisateur par rapport aux donnes
demandes et la zone SQL partage existante est utilise pour le
traitement de l'instruction.
Si l'instruction ne se trouve pas dans la zone de mmoire partage,
une nouvelle zone SQL partage est alloue pour celle-ci afin qu'elle
puisse tre analyse et traite.
6 Le processus serveur extrait les valeurs des donnes ncessaires du
fichier de donnes (table) ou des blocs de donnes stocks dans la
mmoire SGA
56
Gestion dune instance Oracle
57