Vous êtes sur la page 1sur 26

Oracle

ARCHITECTURE INTERNE

FONCTIONNALITES
DE
BASE

STRUCTURE
PHYSIQUE
STRUCTURE LOGIQUE

ORGANISATION DES COUCHES


ORACLE

PL/SQL
SQL
DICTIONNAIRE
DONNEES

NOYAU

FONCTIONNALITES DES
COUCHES

NOYAU
Intgrit des donnes,
Confidentialit des donnes,
Sauvegarde et restauration des donnes,
Gestion des accs concurrents,
Optimisation de l'excution des requtes (tuning),
Gestion des acclrateurs (index, cluster),
Stockage physique des donnes.

FONCTIONNALITES DES
COUCHES
DICTIONNAIRE
DONNEES
Une mta-base qui permet de stocker les lments
suivants :
Objets de la base : tables, views, index, synonymes,
clusters, squences,
Utilisateurs accdant la base avec leurs privilges
et les droits qu'ils ont sur les objets.
Informations relatives l'activit de la base
(connexions, ressources utilises, verrouillages, ).

FONCTIONNALITES DES
COUCHES
SQL

Interface unique entre le noyau RDBMS et les outils.


Cette couche assure :
Vrification smantique et syntaxique.
Dcomposition en opration lmentaires.
Envoi au noyau pour traitement.
Rcupration des rsultats et communication aux
outils.

FONCTIONNALITES DES
COUCHES

PL/SQL
Extension procdurale de la couche SQL, intgre au
noyau depuis la version 7.1, elle permet :
Raliser les traitements procduraux.
crire des traitements stocks dans le dictionnaire
(Procdures, fonctions, packages, triggers)

ARCHITECTURE TECHNIQUE
LA MEMOIRE

SGA (System Global Area)


Database
Buffers

PMON

DBWR

SQL Area

REDO LOG
Buffers

CKPT

Dictionary Cache
Library Cache

LGWR

SMON

LIST
RECO
ARCH

Datafile

Control
File

Redo Log
File

DISPA
SRV

ARCHITECTURE TECHNIQUE
LA MEMOIRE
INSTANCE

Ensemble de ressources permettant d'accder une base de donnes

SGA
System Global Area

PROCESS
Mmoire

LIST
PMON

Process
obligatoires

DBWR
SMON

LGWR
CKPT

Process
optionnels
DISP
RECO

ARCH
CKPT

ARCHITECTURE TECHNIQUE
LA MEMOIRE
ELEMENTS de gestion
d'une INSTANCE
Paramtres dans le PFILE

Fichier des paramtres PFILE


c:\oracle\admin\nom_base\pfile
\initXXX.ora
sql> desc V$PARAMETER
Vues systmes pour la gestion
de l'instance
V$THREAD
V$INSTANCE
V$DATABASE

db_block_size
db_cache_size
control_files
open_cursors
background_dump_dest
core_dump_dest
timed_statistics
user_dump_dest
db_name
instance_name
java_pool_size
large_pool_size
shared_pool_size
process
.

Exemple d'un PFILE


db_block_size=4096
db_cache_size=33554432
control_files=("C:\oracle\oradata\orabase\CONTROL01.CTL",
"C:\oracle\oradata\orabase\CONTROL02.CTL", "C:\oracle\oradata\orabase\CONTROL03.CTL")
open_cursors=300
background_dump_dest=C:\oracle\admin\orabase\bdump
core_dump_dest=C:\oracle\admin\orabase\cdump
timed_statistics=TRUE
user_dump_dest=C:\oracle\admin\orabase\udump
db_domain=""
remote_login_passwordfile=EXCLUSIVE
compatible=9.0.0
db_name=orabase
fast_start_mttr_target=300
instance_name=orabase
java_pool_size=33554432
large_pool_size=1048576
shared_pool_size=33554432
processes=150
undo_management=AUTO
undo_tablespace=UNDOTBS
sort_area_size=524288

SGA (SYSTEM GLOBAL


AREA)
DATABASE BUFFER

Ensemble de buffers permettant en mmoire les blocs de donnes lus


dans le fichiers de la base.
Un bloc contenu dans le buffer est accessible tous les utilisateurs.
Le nombre de buffers a un grand impact sur le performances.
Plus Le nombre de buffers est grand, moins sont les entres.
Dcoupe en 3 sous zones logiques diffrentes :
KEEP
RECYCLE
DEFAULT

: donnes permanentes (rfrentiel).


: donnes temporaires.
: algorithme LRU (Least Recently Used).

SGA (SYSTEM GLOBAL


AREA)
DATABASE BUFFER

Vues systme utilises


V$SGA ;
V$PARAMETER ;
Paramtres dans le PFILE :
DB_BLOCK_SIZE ; DB_BLOCK_BUFFERS
Taille globale = DB_BLOCK_SIZE * DB_BLOCK_BUFFERS

SGA (SYSTEM GLOBAL


AREA)
REDO LOG BUFFER

Zone associe aux fichiers de journalisation.


Lors d'une mise jour de la base, l'image avant la mise jour et aprs
sont crites dans le buffer.
Un ordre COMMIT, ordonne LGRW de consigner les transactions
dans les fichiers de journalisation.
L'augmentation de la taille de cette zone, crot la performance du
systme (rduction des E/S).

SGA (SYSTEM GLOBAL


AREA)
REDO LOG BUFFER

Vues systme utilises


V$SGA ;
V$PARAMETER ;
Paramtres dans le PFILE :
LOG_BUFFER

SGA (SYSTEM GLOBAL


AREA)

SHARED POOL
SQL AREA
Une zone mmoire partage, utilise pour rduire
au maximum les entres/sorties disque.
La rpartition entre les sous-zones est logique et
est gre par le noyau.
D'autres zones ont t rajoutes, en fonction des
versions d'Oracle.

LIBRARY CACHE

DICTIONARY CACHE

PFILE
SHARED_POOL_SIZE
Vidage du pool
ALTER SYSTEM FLUSH SHARED POOL

POOL JAVA

SGA (SYSTEM GLOBAL


AREA)
SQL AREA
Stockage des informations du parsing (analyse requte SQL).
Rutilisation du parsing dj effectu pour une requte donne.
Parsing pnalise la ressource CPU.
Vues du dictionnaire utilises pour la zone SQL Area
V$SQLAREA

V$SQL

SQL> desc v$sqltext


Name
Type
Nullable Default Comments
------------ ------------ -------- ------- -------ADDRESS
RAW(4)
Y
HASH_VALUE NUMBER
Y
COMMAND_TYPE NUMBER
Y
PIECE
NUMBER
Y
SQL_TEXT VARCHAR2(64) Y

V$SQLTEXT

SGA (SYSTEM GLOBAL


AREA)
DICTIONARY CACHE
Conservation dans le cache les donnes en provenance du dictionnaire.
Accs par les process serveurs.
Minimiser les accs sur le dictionnaire.

Vue du dictionnaire utilises pour la zone SQL Area


V$ROWCACHE ;

SGA (SYSTEM GLOBAL


AREA)
LIBRARY CACHE

Permet de stocker les premiers traitements (fonctions, procdures, packages)


lancs, pour un accs ultrieur plus rapide.
Accessibilit ces traitements par tous les utilisateurs.

Vue du dictionnaire utilises pour la zone SQL Area


V$LIBRARYCACHE ;

SGA (SYSTEM GLOBAL


AREA)
LARGE POOL

Utilis partir de la version 8, pour une architecture en multithread.


Permet de stocker les informations de plusieurs sessions en multithreading.

Dans le PFILE
LARGE_POOL_SIZE

SGA (SYSTEM GLOBAL AREA)


OUTIL DE SUIVI

PFILE

VIEWS SYSTEM

SHARED_POOL_SIZE

V$SGA

LOG_BUFFER

V$SQLAREA

DB_BLOCK_SIZE

V$LIBRARYCACHE

DB_BLOCK_BUFFERS

V$ROWCACHE

SHARED_POOL_SIZE

V$DATABASE

DB_NAME

V$INSTANCE

INSTANCE_NAME

V$SESSION

PROCESS MEMOIRE
Obligatoires
DBWRx

Processus de lecture/criture dans la base,


On peut en avoir plusieurs s'il y a une forte activit sur
la BDD.

Paramtres

DB_BLOCK_WRITE_BATCH : Nombre de blocs crits


par dclenchement.

DB_WRITER_PROCESSES : Nombre de process /Instance.

DB_IO_SLAVES

: Gnrs par un DBWRi.

PROCESS MEMOIRE
Obligatoires
LGWR

crire des donnes des blocs du buffer REDO LOG en cas


de COMMIT.
Assurer l'intgrit de la base.

Comme le nombre de fichiers de journalisation est au minimum


gal 2, on demander un switch explicite :
ALTER SYSTEM SWITCH LOGFILE;

PROCESS MEMOIRE
Obligatoires
SMON

- System Monitor

- Utilis au dmarrage de la base,


- Restaure la base suite un arrt anormal.
- Nettoie les segments temporaires lors du redmarrage.
- Restitue la base dans un tat cohrent en cas d'arrt avec
des transactions en cours.
- Dfragmente la base.

PROCESS MEMOIRE
Obligatoires
PMON - Process Monitor

- Traitement de rcupration des processus utilisateur.


- Nettoyage de la mmoire cache et des ressources libres
par un process utilisateur.

PROCESS MEMOIRE
Obligatoires
CKPT - CHECKPOINT
Provoque l'activation du DBWR pour crire les blocs
modifis depuis le dernier point de contrle,
S'excute automatiquement quand les fichiers de
journalisation sont pleins.
Paramtre dans PFILE
CHECKPOINT_PROCESS = TRUE

PROCESS MEMOIRE
OPTIONNELS

ARCH : Recopie des fichiers de journalisation sur un mdia.


- Paramtres
LOG_ARCHIVE_START ;
LOG_ARCHIVE_DEST ;

- RECO : Lance les restaurations sur les bases distribues.


- SNAP : Rafrachissement automatique des snapshot.
- DISPATCHER (Dxxxx) : MultiThreading.
- LSTNR : Agent d'coute pour les clients de la base.
- LCK : Gestion des verrous pour les serveurs parallle d'Oracle.

Vous aimerez peut-être aussi