Vous êtes sur la page 1sur 37

IT 3 2022-2023

COUR DE BASES DE
DONNEES (vol3)
PAR : A HMED S EREME
D I PLÔMÉ D ’ ET UDES SU PÉR IEURES SPÉC I A LISÉ EN
CO N C EPT ION D E SY ST ÈMES D ’ I NFORMATION
E MAIL s e remeah@yahoo.fr T EL 6 0539362

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362 0


CHAPITRE N° 2

CONCEPTS D’ADMINISTRATION
DES BD Oracle

1 1
CA : I. Définitions
• Les métiers autour des bases de données
• L’Utilisateur final
Il accède à la BD à travers des outils construits par le programmeur
d’application, ou pour les plus avertis au travers du langage de requêtes, ils

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


peuvent donc sélectionner, modifier … les données et éditer des rapports…
• Le responsable de la sécurité
Il est en charge de la mise en œuvre de la politique de sécurité définit, et s’occupe
à la fois de la sécurisation logique et physique de l’infrastructure système.
• L’Administrateur réseaux
Il définit le schéma réseau, gère les droits d’accès du réseau de gestion de la BD. Il à
un rôle de choix dans la disponibilité et la sécurité de la Base de données.
• Le Programmeur d’application
Il définit les schémas externes et construit les programmes qui alimentent ou
exploitent la BD en vue d’application particulières, à travers des langages de BD ou
des langages de programmation classique.

2
CA : I. Définitions
• Les métiers autour des bases de données
• L’Administrateur d’application
C’est un utilisateur de la BD ayant des privilèges d’un grand niveau, il peut être
en charge de l’exploitation de la BD. Il à la possibilité d’accéder au système en

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


effectuant quelques requêtes d’un niveau acceptable.
• L’Administrateur de base de données
Dans des environnements de petite taille, l'administrateur peut quasiment tous
les rôles ; ces tâches peuvent se résumer comme suit :
‒ Installer les logiciels Oracle
un serveur, des applications clientes,
En fonction de l'OS et des paramètres systèmes
Si fonctionnement en réseau : composants réseaux d'Oracle
‒ Planifier et créer des bases de données
‒ Gérer l'espace et implanter les schémas des données
‒ Assurer la sécurité, l'intégrité et la pérennité des données
‒ Effectuer des réglages pour optimiser les performances

3
CA : II. Architecture d’Oracle
• II.1. Architecture fonctionnelle

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


Architecture fonctionnel d’Oracle

4
CA : II. Architecture d’Oracle
• II.2. Vue d’ensemble

• Deux architectures possibles:


‒ client/serveur : des applications clientes envoient les requêtes SQL et
PL/SQL à un serveur.

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


‒ Multi tiers : des serveurs d'application allègent la charge du serveur en
réalisant certains accès pour les clients.

• Composition du serveur de BD:


‒ d'une instance = plusieurs processus et une zone de mémoire d'une
base de données
‒ de plusieurs schémas, assimilés à des utilisateurs
‒ Sans oublier de manière globale la BD
NB : Dans le cas de clusters de machines, Oracle peut associer
plusieurs instance à une même base de données.

5
CA : II. Architecture d’Oracle
• II.2. Vue d’ensemble

• Un processus utilisateur est créé quand un utilisateur lance une


application cliente
‒ Une connexion va être créée avec l'instance Oracle, l'utilisateur va

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


ouvrir une session

• Un processus serveur va analyser et exécuter les requêtes,


retourner les données
‒ Mode dédié : un processus serveur pour un processus client
‒ Mode partage : les clients partagent un groupe de processus serveurs

6
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
L’architecture oracle est constituée d’une instance et d’une base de données appelée.
• L’ instance :
‒ Une zone de mémoire partagée appelée System Global Area (SGA)

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


‒ Un ensemble de processus d’arrière plan ayant chacun un rôle bien précis
‒ Un ensemble de processus serveur chargés de traiter les requêtes des
utilisateurs
• La base de données :
‒ Un fichier de contrôle, contenant les
informations sur tous les autres fichiers de
la base.
‒ Fichiers de Redo Log, contenant l’activité
des sessions connectées à la BD.
‒ Eventuellement, de fichiers de Redo Log
archivés contenant les archives d’anciens
fichiers de Redo Log.
‒ D’un ou plusieurs fichiers de données
7
CA : II. Architecture d’Oracle
• II.3. Architecture Interne

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


Architecture Interne d’Oracle 8
CA : II. Architecture d’Oracle
• II.3.
Architecture
Interne

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


Stucture de la mémoire d’une base de donnée Oracle 18.c 9
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
L’architecture oracle est constituée d’une instance et d’une base de données appelée.
• Rappel sur l’ instance :
‒ Une zone de mémoire partagée appelée System Global Area (SGA)

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


‒ Un ensemble de processus d’arrière plan ayant chacun un rôle bien précis
‒ Un ensemble de processus serveur chargés de traiter les requêtes des
utilisateurs.

L’instance est dimensionnée par un ensemble de paramètres stockés dans le


fichier de paramètres système SPFILE<SID>.ora, celui-ci est créé à la
création de la base de données à partir d’un fichier de paramètres caractère
: PFILE<SID>.ora.

10
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.1. La SGA (Système Global Area)
‒ Zone partagée par tous les utilisateurs de la BD;
‒ Allouée au démarrage de l’instance en mémoire principale : Doit être la plus
grosse possible.

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


‒ Son but est d’économiser les E/S.

 Redo Log Buffer : Zone de stockage des informations sur les modifications
apportées à la base, avant leur écriture dans un fichier de Redo Log.
L’écriture dans le Redo Log Buffer est à la fois séquentielle et circulaire
Fonctions de paramétrage :
<LOG_BUFFER ;>

11
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.1. La SGA (Système Global Area)
 SPA : Shared Pool Area :
zone de partage des requêtes et du dictionnaire Oracle.
Partie de la SGA qui est utilisée par Oracle pour partager les requêtes

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


(Library Cache) et le dictionnaire de données (Dictionary Cache) entre les
différents processus.
Fonctions de paramétrage :
<SHARED_POOL_SIZE ;>

12
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.1. La SGA (Système Global Area)
 DBC : Data Base Buffer Cache: ensemble de zones buffer contenant des
copies de données lues à partir des fichiers de données..
Les données de la base ne sont accessibles, en lecture ou en mise à jour,

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


qu’après avoir été chargées dans le Database Buffer Cache.
Dans la pratique, le Database Buffer Cache ayant une taille finie, Oracle
utilise l’algorithme LRU (Least Recently Used) pour gérer le cache.
Fonctions de paramétrage :
< DB_BLOCK_BUFFERS ;> la taille du Database Buffer Cache
(il est relatif au nombre de buffers en mémoire et est Dimensionné par le
paramètre DB_CACHE_SIZE).

Oracle gère l’espace de ce cache à l’aide de deux listes :


‒ La DIRTY LIST : Liste des buffers modifiés mais non encore écrits sur disque;
‒ La LRU list (LEAST RECENTLY USED LIST) : Liste des buffers les moins utilisés
récemment

13
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.1. La SGA (Système Global Area)
 DBC : Data Base Buffer Cache:
La LRU list (LEAST RECENTLY USED LIST) , Elle contient :

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


‒ les buffers libres pouvant être utilisés
‒ les buffers utilisés actuellement par certains processus
‒ les buffers modifiés mais non encore transférés dans la liste (dirty list).

L’algorithme LRU est utilisé pour transférer un bloc de données du disque vers le
cache de la base de données.

‒ recherche d’un buffer libre dans la liste LRU en commençant par le début
‒ Si ’’DB_BLOCK_SCAN_CNT ‘’ buffers sont parcourus et on ne trouve
‒ aucun buffer libre, DBWR est activé pour écrire les buffers modifiés
‒ sur disque pour libérer leur espace.

14
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.1. La SGA (Système Global Area)
 Large Pool V8: Procurer de l’espace spécifique aux opérations parallèles, à
l’usage de la configuration MTS et du module RMAN.
pour l’ASM on utilise le L.P. Oracle conseille de le dimensionner à 100 Mo.

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


Fonctions de paramétrage : <LARGE_POOL_SIZE;>

 Java Pool : V8 zone réservée aux programmes Java.


L’installation des composants Java impose que cette zone soit configurée,
Fonctions de paramétrage : <JAVA_POOL_SIZE;>

 Streams Pool : V10Zone réservée surtout lors de la réplication de données.


Fonctions de paramétrage : <STREAMS_POOL_SIZE;>

 Reserved Area V7.3 zone réservée destinée à l’enregistrement d’objets SQL


de grande taille.
Fonctions de paramétrage : <SHARED_POOL_RESERVED_SIZE;>

 result_cache V11 (A partir de la 18c, elle se mue en « Over Components »


nouveau composant de la SGA utilisé par Oracle pour l’allocation de mémoire
Fonctions de paramétrage : <MEMORY_TARGET;> Par défaut il est égale à 128K. 15
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.2. La PGA (Program Global Area)
En dehors de la SGA, chaque processus possède une zone de mémoire privée
appelée PGA .

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


SGA-PGA 16
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.2. La PGA (Program Global Area)
 Zone d’exécution des processus du serveur,
 Allouée au lancement de chaque processus.

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


Pour un processus serveur, la PGA contient :
 Une zone de tri (allouée dynamiquement lors d’un tri)
 Des informations sur la session
 Des informations sur le traitement des requêtes de la session
 Les variables de session
Dans une configuration multithreaded, une partie de la PGA est en fait stockée dans
la SGA (dans la Large Pool ou éventuellement dans la Shared Pool).
A partir de la version 9i, la PGA devient dynamique
Fonctions de paramétrage :
< PGA_AGGREGATE_TARGET;>

17
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
‒ Les Processus sont constitués de :
‒ processus d’arrière plan ayant chacun un rôle bien précis
‒ processus serveur chargés de traiter les requêtes des utilisateurs

• II.3.3. Les Processus d’arrière plan (Les processus communs)

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


Ils sont indépendants de la connexion des utilisateurs. Ils sont lancés au démarrage
de l’instance et arrêtés lors de l’arrêt de l’instance.
 Database Writer (DBWRn) : écrit sur disque les données modifiées dans
le Database Buffer Cache.
De façon périodique, mettant à jour le point de restauration dans les fichiers de log

 Log Writer (LGWR) : écrit sur disque le contenu du Redo Log Buffer dans
les fichiers Redo.
• en cas de “commit” d’un utilisateur
• Toutes les trois secondes

 Checkpoint (CKPT) : : enregistre les checkpoints dans l’en-tête des


18
fichiers de données. Cet évènement correspond à un « jalon » permettant
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.3. Les Processus d’arrière plan (Les processus communs)
 Process Monitor (PMON): chargé du nettoyage lors du plantage d’un
processus utilisateur.

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


 System Monitor (SMON) : restauration de l’instance après un arrêt
anormal. Il nettoie, comme PMON, les segments temporaires qui ne sont
pas utilisés

 Memory Manager (MMAN) : il agit comme un distributeur de mémoire et


coordonne la taille allouée aux différents composants de la mémoire.

 Memory Monitor (MMON) : programme et déclenche ADDM (L’Automatic


Database Diagnostic Monitor). Scheduler

 Job Queue Coordinator (CJQ) : il génère les processus pour exécuter les
jobs planifiés qui se trouvent dans la file d’attente interne d’Oracle.
Fonctions de paramétrage :< JOB_QUEUE_PROCESSES > 0; >
19
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.3. Les Processus d’arrière plan (Les processus contextuels)
Ils dépendent de la configuration du serveur

 Archiver (ARCH) : en base de données « archivée » il archive des fichiers de

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


Redo Log chaque fois qu’un fichier Redo est plein.

 Recover (RECO) : gère les bases de données distribuées.


activé au moment du démarrage d’une instance si l’option est installée

 Dispatcher (Dnnn) : présent en serveur partagé.


Permet le partage d’un nombre limité de processus serveurs par les processus
utilisateurs.

 Global Cache service (LMS) : présent en option RAC

 Job Queue (SNPn) : processus chargé de rafraîchir les snapshots ou


d’exécuter périodiquement des tâches programmées avec le package
DBMS_JOB. 20
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.4. Les Processus serveur
 Utilise l’architecture client/serveur
 Fonctions des processus serveurs :
• analyser et exécuter les commandes SQL soumises par les

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


applications (utilisateurs).
• transférer les blocs de données nécessaires du disque vers la zone
SGA.
• communiquer les résultats de requêtes aux applications (utilisateurs).

21
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.5. La Base de données
En rappel,
d’un point de vu physique, la BD est composé, de :

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


 Fichiers de contrôle, contenant les informations sur tous les autres fichiers
de la base (nom, emplacement, taille).

‒ Fichiers de Redo Log, contenant l’activité des sessions connectées à la BD

Ce sont des journaux de


transactions de la base. Ils sont
organisés en groupe possédant
le même nombre de membres.

22
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.5. La Base de données
Composition de la BD du point de vu physique:
‒ Fichiers de contrôle,
‒ Fichiers de Redo Log

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


‒ Fichiers Paramètre (configuration).
• Fichiers de paramètres binaire SPFILE<SID>.ORA, contenant les options
de démarrage de l’instance et d’autres valeurs qui déterminent
l’environnement dans lequel elle s’exécute.
• Il est créé à partir d’un fichier de paramètres caractère (INIT<SID>.ora)

23
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.5. La Base de données
Composition de la BD du point de vu physique:
‒ Fichiers de contrôle,
‒ Fichiers de Redo Log

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


‒ Fichiers Paramètre (configuration).
‒ Un fichier de mots de passe, contenant le mot de passe du privilège
SYSDBA.

‒ Fichiers de données proprement dites :


• Les fichiers de données assurent le stockage des objets créés par les
utilisateurs : tables, index, clusters etc.
• des structures nécessaires au fonctionnement d’Oracle : Dictionnaire
de données.
D’un point de vu logique,
les fichiers sont regroupés en : tablespaces:
La quasi totalité des opérations d’administration relatives au stockage
s’effectue en travaillant sur le tablespace et non sur le fichier de données. 24
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.5. La Base de données
D’un point de vu logique :

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


Les tablespaces minimales à la création de la BD :

• Tablespace SYSTEM, contenant le dictionnaire de données.


• Tablespace SYSAUX, c’est le tablespace auxiliaire du tablespace
SYSTEM contenant des fonctions Oracle ou des données utilisées par
des outils tels que le référentiel d’OEM (Oracle Enterprise Manager).
• Tablespace Temporaire TEMP, récupérant les segments temporaires
utilisés par les requêtes SQL de la base de données.
• Tablespace UNDO, récupérant la version précédente des données en
cours de modification par transactions se déroulant sur la base.
• Tablespace USERS, tablespace de travail par défaut des utilisateurs.

25
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.5. La Base de données
 D’un Point de vu logique Architecture des tablespaces
• Le block de données : unité logique la plus fine, 8ko par défaut.
• l’extent : ensemble contigüe de blocks, alloués en une seule fois.

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


• le segment : ensemble d’extents dédiés à un même objet (table, index, ..)
• le tablespace :
regroupe un
ensemble d’objets
(=segments) pour
faciliter leur
administration.
Peut atteindre 8
exabytes !

Illustration du stockage d’une tables dans des tablespaces 26


CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.5. La Base de données
 Fichiers de données , En somme :
• Ils assurent le stockage des objets créés par les utilisateurs et des
structures nécessaires au fonctionnement d’Oracle (Dictionnaire de

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


données);

• Lors de la création d’une de base données, il doit y avoir au moins un


fichier de données pour stocker le dictionnaire de données;

• Un fichier de données est associé à une et une seule base de données;

• Sa taille est exprimée en Kilo ou en Méga octets;

• La définition du nom du fichier de données dépend du système


d’exploitation (il peut être modifié, sauf pour le premier fichier).

27
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.5. La Base de données
 Fichiers de données , En somme :
• Pour la créer : • Pour les manipuler :

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


CREATE DATABASE base ALTER TABLESPACE tbs
DATAFILE spécification_fichier RENAME DATAFILE ‘fich1’, ‘fich2’ TO ‘fich11’,
‘fich22’
CREATE TABLESPACE tbs
DATAFILE spécification_fichier ALTER DATABASE base
RENAME FILE ‘fich1’, ‘fich2’ TO ‘fich11’,’fich22’
ALTER DATABASE base
CREATE DATAFILE fichier AS spécification ALTER DATABASE base
DATAFILE ‘fich1’ RESIZE entier [K|M]
ALTER TABLESPACE tbs AUTOEXTEND [OFF | ON [NEXT entier [K|M]]
ADD DATAFILE spécification_fichier [MAXSIZE UNLIMITED | entier [K|M]]

DROP TABLESPACE tbs


INCLUDING CONTENTS

28
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
En rappel, un serveur de BD est composé (selon la vue
d’ensemble) de :
‒ Une instance = plusieurs processus et une zone de mémoire d'une
base de données

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


‒ Une Base de données
‒ Plusieurs schémas, assimilés à des utilisateurs

29
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.6. Notion de Schémas
 Correspond à un utilisateur : les deux portent le même nom
 Ensemble d’objets de l’utilisateur manipulables en SQL
• plusieurs extents,

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


• un segment,
• un tablespace,
• un ou plusieurs fichiers du tablespace
 Pas de correspondance entre schema/tablespace

30
CA : II. Architecture d’Oracle
• II.3. Architecture Interne
• II.3.6. Notion de Schémas

 Stockage des tables: les deux portent le même nom


• Pour des tables de moins de 256 attributs

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


si possible : un tuple est entièrement dans un block,
sinon : chainage inter-blocs (augmente les E/S);

• A la création d’une table, on peut :


spécifier le tablespace,
spécifier la taille du segment,
spécifier la quantité d’espace libre laissée dans chaque bloc.

31
CA : III. Le DBA SOUS ORACLE
• III.1. Identification du DBA
• III.1.1. Les privilèges SYSDBA et SYSOPER

 Permettent d’effectuer les opérations au-dessus de la BD, en se


connectant à l’instance

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


• Démarrer et arrêter le serveur
• Créer ou supprimer des bases de données
• Changer les modes d’archivage de la base
• ...
 identification est gérée de deux manières
• Par le SE : l’utilisateur doit appartenir au groupe dba ou oper
• Par le fichier password d’Oracle :
Créer un fichier password avec l’outil ORAPWD,
accorder le privilège à partir de l’utilisateur SYS.

32
CA : III. Le DBA SOUS ORACLE
• III.1. Identification du DBA
• III.1.2. Le rôle DBA

 Permet un accès au catalogue, gestion des utilisateurs, de la


mémoire...

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


 A la création de la base, deux utilisateurs sont créés avec le rôle “DBA“
• SYS/CHANGE ON INSTALL
Possède toutes les tables systèmes, dont le dictionnaire
• SYSTEM/MANAGER
Pour créer des tables d’administration uniquement

33
CA : III. Le DBA SOUS ORACLE
• III.2. Informations du dictionnaire
 Ensemble de tables appartenant à l’utilisateur SYS
 principales informations
• La définition de tous les objets et leur espace alloué,

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


• Les valeurs par défaut des attributs,
• Les contraintes d’intégrité,
• La liste des utilisateurs, leurs privilèges,
• Des informations d’audit sur les accès et modifications,…

34
CA : III. Le DBA SOUS ORACLE
• III.3. Structures du dictionnaire
 Des tables de base, uniquement accédées par Oracle et SYS
 Des vues mises à la disposition des utilisateurs (selon leurs droits)
• Vues utilisateurs : USER View. Pour les objets de l’utilisateur qui

COPYRIGHT : SEREMEAH@YAHOO.FR 60539362


demande
• Vues d’ensemble : ALL_Views. Pour une vue d’ensemble sur les
objets auxquels on a accès
• Vues d’administration : DBA_Views. Sur l’ensemble de la base,
uniquement SYS.
• Vues dynamiques sur l’activité de la base : V_$Views.

35
FIN DU
CHAPITRE

Que DIEU vous bénisse au non de JESUS CHRIST


COPYRIGHT : SEREMEAH@YAHOO.FR 60539362 36

Vous aimerez peut-être aussi