Table des matières:
Vidéo: Tutoriel Oracle DBA1 (7) : La notions des composants logiques et physiques. 2024
Toutes les structures logiques que vous verrez se trouvent dans les fichiers de données de la base de données. Les structures logiques d'Oracle 12c vous permettent d'organiser vos données en éléments gérables et, bien, logiques.
Examinons la relation entre les objets logiques et physiques. La flèche pointe dans la direction d'une relation un-à-plusieurs.
Les tablespaces dans Oracle 12c
Tablespaces constituent le premier niveau d'organisation logique de votre stockage physique.
Chaque base de données 12c doit avoir les espaces table suivants:
-
SYSTEM: Stocke les objets de base de données de base utilisés pour exécuter la base de données elle-même.
-
SYSAUX: Pour les objets auxiliaires et non spécifiquement liés aux fonctionnalités de base de la base de données.
-
UNDO: Stocke les segments de restauration ou d'annulation utilisés pour la récupération des transactions.
-
TEMP: Pour le stockage temporaire.
Chaque espace de table est responsable de l'organisation d'un ou de plusieurs fichiers de données. Généralement, chaque tablespace peut être lié à un fichier de données, mais au fur et à mesure que la base de données s'agrandit et que vos fichiers deviennent volumineux, vous pouvez décider d'ajouter du stockage sous la forme de plusieurs fichiers de données.
Quelle est la prochaine étape pour mettre votre base de données en service? Vous créez des zones pour stocker vos données. Supposons que votre base de données comporte des ventes, des ressources humaines, des données comptables et des données historiques. Vous pouvez avoir les espaces de table suivants:
-
SALES_DATA
-
SALES_INDEX
-
HR_DATA
-
HR_INDEX
-
ACCOUNTING_DATA
-
ACCOUNTING_INDEX
-
HISTORY_DATA
-
HISTORY_INDEX
Segments dans Oracle 12c
Segments sont la structure de stockage logique suivante après les espaces de table. Les segments sont des objets de la base de données qui nécessitent un stockage physique et comprennent:
-
Tables
-
Index
-
Vues matérialisées
-
Partitions
Ces exemples d'objet sont segments et ne stockent pas de données réelles: Procédures
-
Synonymes
-
Séquences
-
Cette dernière liste d'objets ne réside pas dans un espace de table avec des segments. Ce sont des morceaux de code qui résident dans l'espace de table SYSTEM.
Chaque fois que vous créez un segment, spécifiez de quel espace de table vous voulez qu'il fasse partie. Cela aide à la performance.
Les extensions dans Oracle 12c
Les extensions
sont similaires aux anneaux de croissance d'un arbre. Chaque fois qu'un segment se développe, il gagne une nouvelle extension. Lorsque vous créez une table pour stocker des éléments, elle obtient sa première extension. Lorsque vous insérez des données dans cette table, cette extension se remplit. Lorsque l'étendue se remplit, elle prend une autre extension à partir de l'espace de table. Lorsque vous créez un espace de table pour la première fois, tout l'espace est libre. Lorsque vous commencez à créer des objets, cet espace libre est affecté aux segments sous la forme d'extensions. Votre espace de table moyen est constitué d'extensions utilisées et d'espace libre.
Lorsque tout l'espace libre est rempli, ce fichier de données manque de place. C'est à ce moment que vos compétences DBA entrent en jeu et que vous décidez comment libérer plus d'espace libre pour que les segments continuent à s'étendre.
Les étendues ne sont pas nécessairement contiguës. Par exemple, lorsque vous créez une table d'éléments et insérez les premiers 1 000 éléments, elle peut croître et s'étendre plusieurs fois. Maintenant, votre segment peut être composé de cinq extensions. Cependant, vous créez également une nouvelle table.
Lorsque chaque table est créée dans un nouvel espace de table, elle commence au début du fichier de données. Après avoir créé votre deuxième table, votre première table peut avoir besoin de s'étendre à nouveau. Son extension suivante vient après la deuxième mesure. À la fin, tous les objets partageant un espace table auront leurs extensions entremêlées.
Ce n'est pas une mauvaise chose. Dans les années passées, avant qu'Oracle ait de meilleurs algorithmes de stockage, les administrateurs de bases de données passaient beaucoup de temps et d'efforts à essayer de fusionner ces extensions. Cela s'appelait la
fragmentation. C'est une chose du passé. Ne t'énerve pas! Juste le laisser être. Oracle 12c est parfaitement capable de gérer de telles situations. Il existe des situations dans lesquelles vous avez plusieurs fichiers de données dans un espace de table. Si un espace de table possède plusieurs fichiers de données, l'espace de table crée automatiquement des extensions de manière circulaire dans tous les fichiers de données. Ceci est une autre fonctionnalité de performance Oracle.
Supposons que vous disposiez d'une grande table prenant en charge la plupart des applications. Il vit dans un tablespace composé de quatre fichiers de données. Au fur et à mesure que la table s'étend, Oracle affecte les extensions à chaque fichier de données comme ceci:
1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4 … et ainsi de suite
Ainsi, Oracle peut tirer parti de la propagation des données sur de nombreux périphériques physiques lorsque les utilisateurs accèdent aux données. Il réduit les conflits sur les segments qui ont beaucoup d'activité.
Blocs Oracle dans Oracle 12c
Un bloc
Oracle est l'unité minimale qu'Oracle lira ou écrira à tout moment. Oracle lit et écrit généralement plus d'un bloc à la fois, mais c'est de nos jours à Oracle. Vous contrôliez plus directement la façon dont Oracle gérait ses lectures et écritures de blocs, mais maintenant les fonctionnalités sont automatiquement ajustées. Vous pouvez le régler manuellement dans une certaine mesure, mais il vaut mieux laisser la plupart des installations à Oracle.
Oracle trouve le segment.
-
Oracle demande ce segment s'il y a de la place.
-
Le segment renvoie un bloc qui n'est pas plein.
-
L'entrée de ligne ou d'index est ajoutée à ce bloc.
-
Les blocs Oracle ont aussi une contrepartie physique, tout comme les fichiers de données. Les blocs Oracle sont constitués de blocs OS. C'est la taille formatée de l'unité de stockage minimale sur l'appareil.