Vous êtes sur la page 1sur 27

Administration des Bases de Données

Architecture générique d’un SGBD


Plan
 Familles de SGBD et cas d’usage
 Administration vs Programmation
 Missions de l’administration

10 Conception des Systèmes d'Information 2020-2021


Familles de SGBD
 Relationnel : Oracle / MySQL / SQLServer / PostgreSQL
 Moteur/structure de stockage basés sur le modèle « entité / relation »
 Respecte les Formes Normales
 Données structurées « à priori »
 Analytique : Oracle / SQLServer / Teradata
 Moteur/structure de stockage basés sur le modèle « fait / dimension »
 Ne respecte pas les formes normales (mais issue de données qui les respectent)
 Données structurées « à priori »
 Non Relationnel
 Moteur/structure de stockage de données non structurées (à priori)
 Documents (JSON) : MongoDB (Oracle / MySQL / SQLServer / PostgreSQL)
 Clé/Valeur (token) : Redis
 Multicolonnes (tableau) : Cassandra
 Recherche/indexation : Elastisearch / Splunk / Solr
 Graphes (vectoriel) : Neo4j (Oracle / SQLServer)

11 Conception des Systèmes d'Information 2020-2021


Popularité des SGBD (https://db-engines.com/)

12 Conception des Systèmes d'Information 2020-2021


Popularité des SGBD (https://db-engines.com/)

13 Conception des Systèmes d'Information 2020-2021


Administration vs Programmation
 Composants BD :
 Modèles de données, données, applications connectées, utilisateurs, requêtes, indexes
 Composants SG :
 Moteur, réseau, CPU, RAM, stockage, OS, progiciel SGBD, ...
 Les composants DB sont liés à la famille de SGBD et relativements
indépendants des éditeurs de SG.
 L’administrateur gère les impacts sur les composants de l'application (DB)
des choix des systèmes de gestion des BD.

14 Conception des Systèmes d'Information 2020-2021


Sécurité des bases de données
 Définie selon un contrat de niveau de service (SLA) sur
 (D)isponibilité
 Mesurée selon l’accessibilité et la performance
 (I)ntégrité
 Mesurée selon la qualité des données stockées
 (C)onfidentialité
 Mesurée selon le respect du moindre privilège et du droit d’en savoir
 (T)raçabilité
 Mesurée selon la capacité à identifier précisément « qui à fait quoi où quand »

15 Conception des Systèmes d'Information 2020-2021


Introduction
 Oracle: Vue d’ensemble
 Oracle est le leader du marché des SGBDR, avec une part de marché allant jusqu’à
48.8% en 2011 (Gartner Group).

 Oracle commercialise différents produits :


 Oracle Database,
 Oracle Developer Suite,
 Oracle Application Server,
 Oracle Applications,
 Oracle Collaboration Suite,
 Oracle Services,
 …
16 Conception des Systèmes d'Information 2020-2021
Introduction
Interaction avec Oracle Database
Interface

Une interface permet à un


utilisateur de gérer et de
manipuler les données qui sont
sur le serveur

Utilisateur
-SQL*Plus
Serveur base de données
-iSQLPlus
- OEM (DB Control)
- Oracle Discoverer, Oracle Reports, Oracle Forms
- PL/SQL

17 Conception des Systèmes d'Information 2020-2021


Architecture d’Oracle Database

 Composantes principales d’un serveur Oracle

1. Base de données : Ensemble de fichiers (sur disque) contenant les


données, les informations sur les données, le journal de modifications

2. Instance : Ensemble de processus et de zones mémoires (mémoire


centrale) qui permettent de gérer la base de données.

18 Conception des Systèmes d'Information 2020-2021


Base de données
Base de Données

Groupes des fichiers de


Fichiers de données Fichiers de contrôle
journalisation

Fichier de paramètres Archives des fichiers de Fichier de mot de


journalisation passe

19 Conception des Systèmes d'Information 2020-2021


Fichier de contrôle

 Fichier de contrôle (Control File)


Fichier de contrôle

 Contient des informations de contrôle sur la base:


 Nom de la base, noms et chemins des fichiers de données et de journalisation,
informations de restaurations etc…
 Un des premiers fichiers lu par l’instance lors du démarrage.
 La vue V$CONTROLFILE nous renseigne sur le contenu du fichier de contrôle.

20 Conception des Systèmes d'Information 2020-2021


Fichier de données

 Fichier de données (Data Files)

 Stockent les données sous un format spécial à Oracle. Fichiers de données

 Physiquement, un fichier de données est un ensemble de blocs SE. Un bloc SE


constitue l’unité d’E/S (écriture/lecture) des fichiers.
 Les fichiers de données sont logiquement regroupés sous forme de
tablespaces.
 Une BD Oracle 10g inclut au moins deux tablespaces, SYSTEM et
SYSAUX.

21 Conception des Systèmes d'Information 2020-2021


Les tablespaces
 Un tablespace est une unité logique qui correspond physiquement à un ou
plusieurs fichiers de données.
 L’administrateur (DBA) agit sur les tablespaces et non sur les fichiers de
données.
 Une BD est organisée sous forme de plusieurs tablespaces, chacun
correspondant à un contexte (thème).
 EX: On peut créer plusieurs tablespaces dans une BD d’une Ese commerciale qui
gère la FACTURATION, la GRH, et le PARC INFO.

22 Conception des Systèmes d'Information 2020-2021


Les tablespaces
 Le tablespace FACTURATION : fact01.dbf et fact02.dbf
 Les tables FACTURE, LIGNE_FACTURE, PRODUIT, CLIENT, REGLEMENT.
 Le tablespace GRH : grh01.dbf
 Les tables PERSONNEL, PAIE, SANCTION etc.
 Le tablespace PARC : parc01.dbf
 Les tables EQUIPEMENT, CATEGORIE, REPARATION, MAINTENANCE etc.
 Avantage: On peut administrer par tablespace, et donc par partie (par rapport à la
BD).
 Par exemple, pour maintenir certaines tables relatives à la facturation, on peut
mettre uniquement le tablespace FACTURATION en offline, au lieu de rendre
toute la base indisponible ce qui touchera des centaines d’utilisateurs qui ont
besoin de manipuler les données de la GRH, PARC INFO etc.

23 Conception des Systèmes d'Information 2020-2021


Les tablespaces
 Les vues DBA_TABLESPACES et DBA_DATA_FILES incluent toutes les
informations relatives aux tablespaces et aux fichiers de données de la base.
 Pour afficher les noms des fichiers de données ainsi que les tablespaces
auxquelles ils correspondent:
SELECT tablespace_name, file_name
FROM DBA_DATA_FILES
ORDER BY tablespace_name;

24 Conception des Systèmes d'Information 2020-2021


Structure de stockage

Database

Fichier de
- C’est l’espace occupé par un objet base
Tablespace
données
de données (Table ou Index)
- Il existe 4 types de segments:
Segment
Segment

1. Segment table: espace occupé par une table


2. Segment index: espace occupé par un index
Extension

3. Segment d’annulation: espace qui inclut les


informations d’annulationBloc de données Bloc SE

4. Segment temporaire: espace annexe à la


Structure Logique Structure Physique
MC pour les opérations volumineuses.
25 Conception des Systèmes d'Information 2020-2021
Le segment d’annulation

Le segment d’annulation sert à stocker les données nécessaires:


1. A l’annulation

Mémoire centrale

Update table1
Disque set col1=A
Where col1=B;

26 Conception des Systèmes d'Information 2020-2021


Le segment d’annulation

Update table1
Mémoire centrale Set col1=A
Nouvelle Ancienne
image (A) image (B) Where col1=B;

Segment
table
Disque
Segment
d’annulation
En effet, la MAJ peut être effectuée sur
disque sans attendre un COMMIT.

La nouvelle image est enregistrée dans un segment table, l’ancienne dans un segment d’annulation.
Au cas où un ROLLBACK est effectué, c’est cette image qu’on utilisera pour rétablir les données.

27 Conception des Systèmes d'Information 2020-2021


Le segment d’annulation

 Le segment d’annulation sert à stocker les données nécessaires:


1. A l’annulation
2. A la lecture cohérente (ou dite aussi consistante).

Anciennevaleur
Nouvelle valeur
ou ancienne? 11:58
Update table1
set col1=A
Where col2=C;
12:01
28
Select col1 From table1
Conception des Systèmes d'Information 2020-2021
Where col2=C;
Le segment d’annulation

 Le segment d’annulation sert à stocker les données nécessaires:


1. A l’annulation
2. A la lecture cohérente (ou dite aussi consistante).
a. Si pas d’anticipation d’enregistrement des MAJ, Alors la lecture
se fait directement à partir du segment table.
b. Si anticipation d’enregistrement des MAJ, Alors la lecture se fait à
partir du segment d’annulation.

29 Conception des Systèmes d'Information 2020-2021


Le segment temporaire
 Le segment temporaire sert à stocker les données relatives à des opérations
volumineuses si la mémoire centrale ne suffit pas à les exécuter.
 Exemple d’opérations volumineuses:
 Certains tris.
 Certaines jointures.
 Création d’index.
 Etc.

30 Conception des Systèmes d'Information 2020-2021


Extension

 Un segment est à son tour composé


Database
d’extensions
 Une extension est un ensemble de blocs
appartenant à un même fichier de
Tablespace
Fichier de
données
données
 Par contre un segment Segment
peut s’étaler sur
plusieurs fichiers à travers ses
extensions. Extension

 La taille d’un bloc de données est définie


par le paramètre DB_BLOCK_SIZE
Bloc de données Bloc SE

31 Structure Logique
Conception des SystèmesStructure Physique
d'Information 2020-2021
Exemple

Segment A (Extent 1) Segment A (Extent 2) Database

Tablespace Fichier de
données

Segment B (Extent 2)
Segment
Segment B (Extent 1)

Extension
Segment C (Extent 1)

Bloc de données Bloc SE

Fact01.dbf Fact02.dbf
Structure Logique Structure Physique

Structure du tablespace FACTURATION


32 Conception des Systèmes d'Information 2020-2021
Fichiers de journalisation
 Les fichiers de journalisation contiennent toutes les modifications effectuées
sur les données depuis une certaine durée.
 En cas de crash du système, ou d’altération des fichiers de données, on peut
reconstituer les données à partir des fichiers journaux.
 L’écriture sur les fichiers journaux est multiplexée et cyclique.
 L’ensemble des fichiers multiplexés (qui contiennent donc les mêmes
informations) sont appelés membres et forment un groupe.
 L’écriture est donc multiplexée à l’intérieur d’un groupe, et cyclique entre les
groupes.
 La vue V$LOGFILE contient les informations des fichiers journaux.

33 Conception des Systèmes d'Information 2020-2021


Fichiers de journalisation

Groupe 1

DELETE DELETE
UPDATE UPDATE
INSERT INTO INSERT INTO
UPDATE UPDATE
UPDATE… UPDATE…
INSERT INTO INSERT INTO

Membre 1 Membre 2

Groupe 2

INSERT INTO INSERT INTO


UPDATE… UPDATE…
DELETE... DELETE...

Membre 1 Membre 2

34 Conception des Systèmes d'Information 2020-2021


Archives des fichiers journaux
 L’écriture des fichiers journaux est cyclique, ce qui fait qu’à un certain
moment, certaines transactions seront écrasées.
 La solution, c’est d’archiver les fichiers journaux avant de les écraser.
 Les fichiers journaux archivés peuvent être stockés sur des disques
(serveurs) distants, ce qui optimisera la sécurité de la BD.
 Une base de données n’est pas forcément en mode ARCHIVELOG, si elle
ne l’est pas, les fichiers journaux ne sont pas archivés.

35 Conception des Systèmes d'Information 2020-2021