Académique Documents
Professionnel Documents
Culture Documents
ENSA Hoceima
2021/2022
1
Administration d’une base de données Oracle
2
Rôles d’un administrateur de BD
3
Connexion
4
Listener
Le Listener reçoit la requête du processus client
Les taches de Listener
Il écoute.
Il ouvre le port.
Vérifier l’existence de la base de (SID).
Oracle serveur
Oracle client
Listener
5
Connexion à un serveur Oracle
o Il existe trois types de connexions grâce auxquelles un utilisateur peut
accéder à un Serveur Oracle :
Connexion à 1-tier
6
Connexion à un Serveur Oracle
Connexion à 2-tiers
Oracle client
Oracle client
Oracle serveur
Oracle client
7
Connexion à un Serveur Oracle
Connexion à n-tiers
Client oracle
Serveur Serveur
d’application d’application
1 n
Client oracle
Serveur
Client oracle oracle
8
Session
Oracle serveur
Oracle client
Listener
DB1 DB.. DBn
9
Session ID et requête
Listener
DB1 DB.. DBn
• Session ID
• Requête
10
Architecture d’oracle (Composantes Principales )
Serveur oracle
Instance
Mémoire SGA
Shared Pool Buffer Large
Library Cache Pool
Cache
Client oracle
Processus Processus Dictionary Redo Log Java
client serveur
Cache Cache Pool
Base de données
11
Architecture d’oracle
12
Architecture d’oracle: Les processus
13
Architecture d’oracle: Modes d’architectures
14
Architecture d’oracle : serveur oracle en mode dédié
o Le mode dédié est une relation un à un (one to one), un seul
processus serveur pour un seul processus client.
o Il est recommandé pour les nombres des connexions limités ou selon
la puissance de machine.
…. ….
Processus Processus
client serveur
15
Architecture d’oracle : serveur oracle en mode partagé
o Le mode partagé est une relation un à plusieurs (one to many), un
seul processus serveur pour plusieurs processus clients.
o Il est recommandé pour le nombre des connexions nombreux ou
selon la puissance de machine.
…. ….
Processus
client
Processus
client
16
Architecture d’oracle
o Base de donnée
C’est un ensemble de fichiers (sur le disque) contenant les données,
les informations sur les données, le journal de modifications, etc.
o Une instance Oracle
c’est un l’ensemble des processus d’arrière-plan et de zones
mémoires (SGA) qui sont alloués au démarrage de la basse de
données, pour permettre l’exploitation des données.
Permet d'accéder à une base de données Oracle,
N'ouvre qu'une seule base de données,
17
Structure physique de base de données
Les fichiers de données (data files)
Stockent les données (les tables, les procédures /fonctions stockées,
les vues, index, etc).
Un fichier de donnée est associé à une seule base de données.
L'extension est .dbf
18
Structure physique de base de données
Les fichiers de reprise/les fichiers de journalisation (redo log files)
Contiennent la trace des dernières modifications de données.
Permettent en cas de panne (matérielle ou logicielle) de remettre la
BD dans un état cohérent.
19
Structure physique de base de données
Les fichiers de contrôle (control files)
Contiennent les informations relatives à la structure physique de la
BD (nom de la base, noms et localisations des fichiers de données et
de reprise, etc.).
Chaque fichier de contrôle est associée à une seule base de données
Oracle.
Le fichier de contrôle est un petit fichier binaire nécessaire à une
base de données Oracle pour démarrer et fonctionner avec succès.
20
Les zones de mémoire : PGA
21
Les zones de mémoire : SGA
22
Les composantes de SGA
1. Shared Pool (Zone de mémoire partagée )
o Elle permet de stocker :
les dernières instructions SQL et PL/SQL exécutées,
Les dernières définitions de données utilisées.
Les droits et privilèges accordés aux utilisateurs.
o Elle est constituée de deux structures mémoire
Library Cache
Dictionary Cache
23
Les composantes de SGA
1.1 Library Cache
o Le Library Cache conserve des informations sur les dernières instructions
SQL et PL/SQL utilisées.
o Il est géré par un algorithme LRU (Least Recently Used)
o Le Library Cache contient pour chaque requête récemment exécutées trois
informations:
Son texte.
Sa compilation.
Son plan d‘exécution.
o Lorsque une requête existe encore dans le Library Cache, oracle ne perdre
pas son temps à la ré-exécuter.
24
Les composantes de SGA
1.2 Dictionary Cache
o Dictionary Cache contient:
Les dernières définitions utilisées dans la base de données.
Des informations sur les tables, les index, les colonnes, les utilisateurs,
les privilèges et d'autres objets de la base de données.
o Cette zone mémoire permettra au serveur Oracle de ne pas avoir à aller
chercher ces informations sur le disque à chaque exécution d'une requête
SQL.
25
Les composantes de SGA
2. Buffer Cache
o Ce Cache conserve des copies des blocs de données extraits.
o Il est géré par un algorithme LRU.
o Lors des exécutions suivantes les blocs de données seront récupérés à partir
de cette zone mémoire (sans aller au disque).
26
Les composantes de SGA
3. Redo Log Buffer (Tampon de journalisation )
o Il enregistre toutes les modifications apportées aux blocs de données de la
base.
o Les traces des transactions sont enregistrées avant de passer les données aux
utilisateurs.
o Sa principale fonction est la récupération de données.
27
Les composantes de SGA
4. Large Pool
o Large Pool est une zone où la sauvegarde et la restauration de la base de
données sont réalisées.
28
Les composantes de SGA
5. Java Pool
o La zone de mémoire Java Pool répond aux besoins d'analyse des commandes
Java.
o Elle est nécessaire si Java est installé et utilisé.
29
Les processus d‘arrière plan
30
Les processus d‘arrière plan : PMON
31
Les processus d‘arrière plan : DBWn
32
Les processus d‘arrière plan : SMON
33
Les processus d‘arrière plan : LGWR
34
Gestion des privilèges
35
Gestion des privilèges
• OBJET
Un privilège objet permet d’exécuter une action particulière sur
une table, vue, fonction, procédure, package d’un schéma.
Par exemple y accéder, la mettre a jour ou même y insérer des
information (select, update, insert ,…)
36
Création d’un utilisateur oracle
37
Gestion des privilèges
GRANT
Ordre GRANT permet d'ajouter un privilège à un utilisateur.
Exemple :
Pour Alice:
GRANT SELECT ON Provider TO Mark;
GRANT CREATE TABLE TO Mark;
Pour Mark:
SELECT * FROM Alice.provider;
CREATE TABLE Alice.Client;
38
Gestion des privilèges
REVOKE
Ordre REVOKE pour le supprimer
Exemple :
REVOKE SELECT ON Provider FROM Mark;
REVOKE CREATE TABLE FROM Mark;
39