Chapitre 3 BD

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 21

Institut Supérieur d’Informatique et de Mathématiques

de Monastir

Chapitre3 :
Gestion des structures
de stockage

Enseignante: Aljia BOUZIDI


[email protected]

2ème Licence Fondamentale en Informatique


Année Universitaire :2021-2022
Objectifs

À la fin de ce chapitre, vous pourrez :


• Définir la notion de base de données Oracle et dictionnaire
de données
• Expliquer la relation entre les structures de stockage
logiques et physiques.
• Définir un tablespace et ses modes de stockage
• Expliquer le mode de stockage des données d’une table

2/52
Contenu du chapitre 3

1. Rappel: Notion de schéma de base données


2. Dictionnaire de données Oracle
3. Structures de stockage Oracle
4. Tablespace et fichier de données
5. Définition d’un Tablespace
6. Catégories des Tablespaces
7. Types des tablespaces
8. Gestion de l'espace dans les tablespaces
9. Segment
10. Mode de stockage de données d’une table
Rappel: Notion de schéma de base de
données (1/2)
o Le terme schéma désigne l’ensemble des objets qui appartiennent à
un utilisateur

o Les principaux types d’objets sont les suivants :


• Table, vue, synonyme, index, programme PL/SQL (procédure, fonction,
package, trigger)

o Certains objets ne peuvent pas être inclus dans un schéma : utilisateurs,


rôles et objets d'annuaire.

o Sur les différents types d’objets, seuls les tables et les index stockent
des données et occupent de l’espace de stockage dans des tablespaces.
Les autres n’ont qu’une définition stockée dans le dictionnaire de
données 4/20
Rappel: Notion de schéma de base de
données (2/2)
o Une base de données peut comporter plusieurs schémas. Chacun
contient tous les objets créés par un utilisateur spécifique de base
de données

o La notion de schéma est une notion purement logique.

o Physiquement, les objets des différents schémas sont mélangés,


soit dans le dictionnaire de données soit dans les tablespaces, mais
oracle sait s’y retrouver

5/20
Dictionnaire de données Orale:
définition
o Est un ensemble de tables et de vues qui contiennent des informations
décrivant toutes les composantes logiques et physiques d’une BD :

• Les utilisateurs et les doits (privilèges et rôles)


• Les noms et caractéristiques des objets (tables, les vues, index, procédures,
etc.)
• Contraintes d’integrité
• Resource physique allouée à la base

o Appartient à SYS et stocké dans le tablespace SYSTEM

o Il est crée lors de la création de la BD

o modifier automatiquement par Oracle les ordres SQL LDD sont exécutés
(CREATE, ALTER, DROP) et manipuler par les commandes SQL LMD
(insert, update, delete, etc.) 6/20
Dictionnaire de données Orale:
Consultation
Pour :
• Je suis le propriétaire du DD
• Les données de performance
• J’assure la mise-à-jour
(fichier physique, esp Mémoire)
• J’accède directement aux tables
Vues dynamiques
du DD
• Les informations sur les objets
• J’ai créé des vues pour vous
Vues statiques

• Comment consultons-nous le DD? Quelle est la syntaxe pour


• Quelles sont les types de vues? chaque type de vue?

• Des vues statiques


Vous consultez les tables du DD select * from All_objectName;
en lecture seule via des vues: Select * from User_ObjectName;
Select * from DBA_ObjectName;
• Des vues statiques
• Des vues dynamique • Des vues dynamique:
Select * from
V$FileName/Memory
Comment choisissons-nous le type
de vue pour chaque requête?

7/20
Dictionnaire de données: Vue statique
(1/2)
o Elles sont basées sur des tables créés réellement dans le dictionnaire de
données.
o Accessibles uniquement si la base est ouverte.

8/20
Dictionnaire de données: Vue statique
(2/2)

9/20
Dictionnaire de données: Vue
dynamique (1/2)
o Elles ne sont pas basées sur des tables du dictionnaire de
données. Leurs informations sont extraites de la mémoire
et/ou des fichiers de contrôle.

o Commencent par le préfixe V$ et ne sont accessibles que


par les administrateurs.

o Peuvent être consultées même si la base de données n’est


pas ouverte
10/20
Dictionnaire de données: Vue
dynamique (2/2)

11/20
Concepts de stockage de données

o Une base de données Oracle


comporte :

• des structures physiques: les


fichiers de données

• et des structures logique :


tablespaces, segments, blocs de
données, extensions (extents)

12/20
Tablespace et fichier de données
Point de vue physique: Point de vue logique:
Les données sont stockées dans des Les données sont stockées dans des
fichiers de données tablespaces

Des fichiers de données sont créés explicitement pour chaque


tablespace afin de stocker physiquement les données.

o Un tablespace :
• ne peut appartenir qu'à une seule base de données
• est constitué d'un ou plusieurs fichiers de données
• Peut stocker des tables, index.

o Un fichier de données :
• ne peut appartenir qu'à un seul tablespace et à une seule base de
données
• servent de référentiels pour les données des objets de schéma

13/20
Définition d’un Tablespace

o Un tablespace est une unité de stockage composé d’un ou plusieurs


fichiers physiques.

o La quasi-totalité des opérations d’administration relatives au


stockage s’effectue en travaillant sur les tablespaces et non sur les
fichiers de données.

o Chaque tablespace permet de regrouper un ensemble d’objets


logiques (tables, index,..) pour les opération de sauvegarde et de
restauration soient efficaces.

o Une table ou ses indexes qui sont créées dans un tablespace, peuvent
s’étendre sur plusieurs fichiers.

o Chaque Tablespace correspondant à un contexte (thème)


14/20
types des Tablespaces (1/2)

o Deux types de tablespaces sont existés:

• tablespaces bigfile :Il s'agit de tablespaces comportant un


fichier de données unique mais très volumineux (jusqu'à
4 milliards de blocs de données).

• Les tablespaces smallfile traditionnels (utilisés par


défaut) peuvent contenir plusieurs fichiers de données, mais
ces fichiers ne peuvent pas être aussi volumineux

15/20
Types des Tablespaces (2/2)

o Par défaut, le système crée un tablespace smallfile. Vous pouvez


également créer des tablespaces bigfile afin de permettre à la BD Oracle
de gérer des fichiers très volumineux.

o Un tablespace peut être en ligne (accessible) ou hors ligne (non


accessible).
o Les tablespace SYSTEM et SYSAUX restent toujours en ligne lorsque
la BD est ouverte.

16/20
Catégories des Tablespaces
o Chaque BD Oracle contient un tablespace SYSTEM et un tablespace
SYSAUX. Ceux-ci sont créés automatiquement lors de la création de la
base de données Oracle
• SYSTEM est utilisé pour stocker les tables qui prennent en charge les
fonctionnalités principales de la BD, telles que les tables du
dictionnaire de données.
• SYSAUX auxiliaire du tablespace SYSTEM. Il sert à stocker plusieurs
composants de base de données supplémentaires (tels que le référentiel
Enterprise Manager).
o Mais avez besoin d’autres tablespaces pour exploiter une base de
données:
• UNDO: est réservé exclusivement à l'annulation des commandes DML
(UPDATE, INSERT, DELETE).
• TEMP: est un tablespace spécifique aux opérations tempraires
(exemple de tri). Ce tablespace n'est pas destiné à accueillir des objets de
la base de données et son usage est réservé au système.
• USERS/permanent: est utilisé pour stocker des objets et des données
utilisateur permanents.
17/20
Gestion de l'espace dans les tablespaces
o Tablespace géré localement :
• Les extentions (extents) libres sont gérés dans le tablespace
• Un bitmap est utilisé pour enregistrer les extents
• Chaque bit correspond à un bloc ou à un groupe
de blocs
• La valeur du bit indique si les extents sont libres
ou utilisés
• Il est recommandé d'utiliser des tablespaces gérés localement

o Tablespace géré au moyen du dictionnaire :


• Les extents libres sont gérés par le dictionnaire
de données
• Le serveur Oracle met à jour les tables appropriées dans le dictionnaire de
données chaque fois qu'un extent est alloué ou libéré
• Ces tablespaces ne restent pris en charge que pour
des raisons de compatibilité descendante
18/20
Segment

o Les fichiers de données sont découpés en blocs d’une taille donnée


(4 ko, 8 ko,…)
o L’espace occupé par un objet dans un tablespace est désigné par le
terme générique de segment.
o Il y à quatre types principaux de segments:
• Les segments de table : espace occupé par les tables
• Les segments d’index : espace occupé par les index
• Les segments d’annulation: espace temporaire utilisé pour stocker
les informations permettant d’annuler une transaction
• Les segments temporaire : espace temporaire utilisé notamment lors
d’un tri
o Un segment appartient à un tablespace et est constitué
d’extensions (extents)
o Une extension est un ensemble de blocs contigus dans un
fichier de données
19/20
Mode de stockage des données d'une
table
Colonnes Blocs

Table A Table B

Lignes

Segment Segment
Table B
Tablespace

Morceau de ligne Extent


20/20
Fin

[email protected]

Vous aimerez peut-être aussi