ADMINISTRATION DES BASES DE DONNEES AVEC ORACLE
Chapitre 1 Architecture d’ORACLE
A Quel est le rôle d’un Administrateur de Base de Données (ou DBA) ?
L’administrateur de base de données doit :
B INSTANCE et BASE DE DONNEES Définitions
Une instance ORACLE est composée de la System Global Area (SGA) et des processus
Oracle tournant en arrière plan. Elle est définie de façon unique par l’ORACLE_SID ou
l’ORA_SID suivant la plateforme (ce sont des variables du système d’exploitation).
L’instance est indépendante de la base de données mais représente la partie mémoire de cette
dernière. Elle ne peut monter qu’une seule base de données à la fois.
Une base de données ORACLE est composée de un ou plusieurs fichiers de données ,
associés avec deux ou plusieurs fichiers redo log online et un ou plusieurs fichiers de
contrôle. C’est ici que l’on stocke physiquement les informations de la base.
Elle est définie de façon unique par la variable ORACLE db_name dans init.ora (le fichier
de démarrage).
Elle peut être montée par une ou plusieurs intances. Bien entendu les données ne sont
accessibles qu’à la condition que la base soit ouverte.
- Installer le SGBD (ainsi que les outils associés) et mettre à jour les produits
d’ORACLE
- Allouer et planifier le stockage disque
- Créer des utilisateurs
- Sauver et restaurer la (les) base(s) de données
- Maintenir la sécurité : l’administrateur doit mettre en place les structures et les
procédures permettant de faire face à tous les incidents et de retrouver la cohérence et
l’intégrité des données.
- Surveiller et optimiser les performances : l’administrateur doit obtenir les
meilleures performances , pour cela, il doit tenir compte des utilisations qui seront
faites des données
- Contrôler et surveiller l’accès des utilisateurs : l’administrateur attribue et retire des
privilèges sur les données aux utilisateurs de la base.
RELATION INSTANCES BASE DE DONNEES
Base de données EXCLUSIVE
Base de données PARTAGEE
Base de Données
Db_name= TEST
Instance SID=TEST
Base de données
Db_name=TEST
INSTANCE
SID = TEST1
INSTANCE
SID = TEST2
SERVEUR 1
SERVEUR 2
APPLICATION 1
APPLICATION 2
Architecture des processus et de la mémoire ORACLE
Database
Buffer
Cache
Redo Log
buffer
Shared pool
SGA
Fichiers de
contrôle
Fichiers
redo log
Data
segment
Rollback
segment
Process
Serveur
dédié
Process
serveur
partagé
Processus
utilisateur
Fichiers de stockage
offline
Dispatcher D000
SMON
LGWR
DBWR
ARCH
PMON
CKPT
RECO
Processus d’arrière
plan
Processus listener
Java
pool
C La mémoire
C 1 Les zones réservées au code de l’applicatif.
Ces espaces pour le code des programmes en cours d’exécution sont accessibles uniquement
en lecture. Elles peuvent être partagées ou exclusives. On y trouve le code du noyau, des
outils ORACLE (SQL*Plus, ORACLE*FORMS, etc…) et des programmes d’applications
faisant appel à ORACLE. Plusieurs processus peuvent accéder au même segment de mémoire.
On évite, avec un tel partage d’avoir des copies multiples de code, d’où un gain d’espace
mémoire et de performance.
C 2 La SGA (System Global Area)
Egalement appelée ‘shared global area’, cette dernière est propre à chaque instance et ne
peut donc être partagée entre plusieurs instances.
C’est une zone contenant les données et informations relatives à une instance ORACLE. Les
données contenues dans cette zone sont partagées entre tous les utilisateurs connectés à
l’instance.
La mémoire pour une SGA est allouée au démarrage de l’instance et sallouée à l’arrêt de
cette dernière. La taille est déterminée, au démarrage, dans le fichier paramètre init.ora.
Ces paramètres sont :
DB_BLOCK_SIZE : détermine la taille en octet d’un bloc de données et d’un buffer
DB_BLOCK_BUFFER : nombre de buffer de la base alloué à la SGA. L’espace total
du buffer est égal à DB_BLOCK_SIZE * DB_BLOCK_BUFFER
LOG_BUFFER : Nombre d’octets alloués au buffer REDO LOG
SHARED_POOL_SIZE: Taille en octets, de l’espace alloué aux instructions SQL et
PL/SQL partagées.
Nota :
La SGA doit être aussi grande que possible, à condition qu’elle reste en mémoire
centrale, donc qu’elle ne doit pas être trop grosse.
Un BUFFER est un bloc en mémoire centrale
La SGA est composée :
Du BUFFER CACHE
Il s’agit d’une portion de la SGA contenant les copies des blocs de données les
plus récemment utilisés, lus à partir des fichiers de données.
ORACLE utilise 2 listes pour gérer l’espace de ce cache de données : la DIRTY
LIST et la LRU LIST (Least Recently Used).
La DIRTY LIST contient les modifications terminées et validées (commit), mais
non encore écrites sur le disque.
La LRU LIST contient la liste des buffers les moins utilisés récemment. On y voit
donc les buffers libres (pouvant être utilisés), les buffers utilisés actuellement par
des processus (select) et ceux modifiés, non encore transmis dans la liste
précédente (update).
Toutes les données, avant de pouvoir être lues, doivent être placées dans la
DATABASE BUFFER CACHE. De même, les mises à jour (update) sont
effectuées d’abord dans le BUFFER CACHE puis dans la base de données.
On peut ainsi augmenter les performances en lisant les données dans le BUFFER
avant de les lire dans le disque, à conditions que ces dernières soient fréquemment
lues.
La taille est contrôlée par DB_BLOCK_BUFFERS et DB_BLOCK_SIZE
Du BUFFER REDO LOG
Il s’agit d’une zone tampon circulaire de la SGA contenant les images avant et
après modification des données. On peut ainsi en cas de plantage restaurer la base
de données. Le contenu est écrit dans les fichiers REDO LOG dans les cas
suivants :
Un time out apparaît (3 secondes CPU par défaut)
Un checkpoint apparaît (ce qui permet d’écrire sur le disque)
Le BUFFER est plein à 1/3
Un COMMIT a été demandé.
La taille du BUFFER est donnée par le paramètre LOG_BUFFER.
1 / 14 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !