Les fichiers de données
Définition :
Les fichiers de données sont les fichiers physiques du système d’exploitation sur
lesquels les données sont stockées.
Ils peuvent être créés avec l'un des outils associés à Oracle, tels que : SQL*Plus ou
OEM(Oracle Enterprise Manager).
Les fichiers de données sont divisés en blocs, qui sont les unités de base de stockage des
données dans Oracle. La taille des blocs est définie par l'administrateur de base de
données.
Ils ne sont pas directement alloués à la base de données, mais sont liés à l'instance par
l'emploi de tablespaces.
Les tablespaces sont des unités logiques de stockage qui regroupent des fichiers de
données.
Chaque tablespace est associé à une tablespace directory, qui est un chemin d'accès au
système d'exploitation où les fichiers de données du tablespace sont stockés.
o Création d’un tablespace :
CREATE TABLESPACE customers DATAFILE
'customers_data.dbf' SIZE 100M AUTOEXTEND ON
NEXT 10M;
Cette commande crée un tablespace appelé customers avec un seul fichier de
données de 100 M o. Le fichier de données sera automatiquement étendu par
tranches de 10 Mo. Par exemple, si le fichier de données contient actuellement 100
Mo de données, il sera automatiquement étendu à 110 Mo lorsque la première
tranche de 10 Mo sera ajoutée. Le fichier de données sera ensuite étendu à 120 Mo
lorsque la deuxième tranche de 10 Mo sera ajoutée, et ainsi de suite.
Les segments d'annulation et les tablespaces d'annulation :
Les segments d'annulation sont des zones de stockage dans la base de données Oracle qui
contiennent des images avant modification des données. Ces images sont utilisées pour
permettre aux utilisateurs de revenir en arrière (rollback) après avoir effectué des
modifications sur les données.
Les tablespaces d'annulation sont des unités logiques de stockage qui regroupent des
segments d'annulation.
Comment fonctionnent les segments d'annulation ?
Lorsque vous effectuez une modification sur une donnée dans Oracle, la base de
données crée une image avant modification de la donnée. Cette image est stockée dans un
segment d'annulation. Si vous souhaitez revenir en arrière sur la modification, vous pouvez
utiliser la commande ROLLBACK. La commande supprimera la modification de la donnée et
restaurera la donnée à l'état qu'elle avait avant la modification.
Les structures mémoires fondamentales :
Database buffer cache :
Le cache de tampon de base de données(une partie de SGA) est une zone de mémoire vive
utilisée par Oracle pour stocker des blocs de données provenant du disque. Ces blocs de données
peuvent être des tables, des index ou d'autres structures de données.
La taille du cache de tampon de base de données est un paramètre spécifié dans le
fichier ini.ora
DB_CACHE_SIZE en méga Octets.
Sur le serveur Unix de haute gamme la taille de buffer cache est entre 400 Mo et 500 Mo.
Lorsque Oracle a besoin de lire ou d'écrire des données dans une base de données, il le fait
d'abord dans le cache de tampon de base de données (buffer cache). Si le bloc de données est
déjà dans le cache, Oracle peut accéder aux données directement en mémoire, ce qui est
beaucoup plus rapide que de lire les données à partir du disque.
La taille du cache de bibliothèques de base de données est un paramètre spécifié dans le
fichier ini.ora : SHARED_POOL_SIZE.
Le cache de bibliothèque :
Le cache de bibliothèque est une zone de mémoire vive utilisée par Oracle pour stocker des
instructions SQL et PL/SQL. Ces instructions peuvent être des requêtes, des procédures, des
fonctions ou d'autres types d'instructions.
Lorsque Oracle a besoin d'exécuter une instruction SQL ou PL/SQL, il la recherche d'abord
dans le cache de bibliothèque. Si l'instruction est déjà dans le cache, Oracle peut l'exécuter
directement en mémoire, ce qui est beaucoup plus rapide que de lire l'instruction à partir du
disque.
Les verrous:
1. Définition :
Les verrous sont un mécanisme important pour garantir l'intégrité des données dans
une base de données Oracle. Ils empêchent les conflits de données et permettent à
plusieurs sessions d'accéder aux données de manière sûre et cohérente.
Les verrous sont acquis automatiquement lorsque les instructions Oracle sont
exécutées, ils durent le temps d’une transaction (soit avec commit ou rollback).
2. Mode de verrouillage :
a. Verrou exclusif : Une seule session peut avoir un verrou exclusif sur une
ressource à la fois. Il est utilisé dans les cas où une session doit modifier
des données.
Exemple : Si la session A essaie d'exécuter une instruction UPDATE sur la ligne de
table 100, l'instruction sera exécutée avec succès. Cependant, si la session B
essaie d'exécuter une instruction SELECT sur la ligne de table 100, l'instruction
SELECT renverra une erreur. La session A peut libérer le verrou exclusif sur la ligne
de table 100 en utilisant l'instruction COMMIT ou ROLLBACK.
b. Verrou partagé : Plusieurs sessions peuvent avoir un verrou partagé sur
une ressource à la fois. Il est utilisé dans les cas où plusieurs sessions
doivent lire des données, mais aucune ne doit les modifier.
Exemple : si deux sessions exécutent une instruction SELECT sur la même
ligne de table, elles peuvent toutes les deux obtenir un verrou partagé sur
la ligne de table. Cela garantit que les deux sessions pourront lire les
données de la ligne de table, mais qu'aucune des deux sessions ne pourra
modifier les données.