Vous êtes sur la page 1sur 3

**************************** PREPARATION DE CERTIFICATION OCA PAR ASTRID

***********************************
===========================================
Date : 01 Mars 2024

CHAPITRE 1 - INTRODUCTION A LA BASE DE DONNEES ORACLE


+++++++++++++++++++++++++++++++++++++++++++++++++++++

1 - Architecture du serveur de base données Oracle


**********************************************
elle est constituée de 3 éléments principaux:
- les structures mémoires
- les structures de stockage
- les processus d'arrière plan

Le SGBD Oracle est constitué :


- Instance de base de données (structures mémoires et de processus d'arrières
plan)
A chaque du démarrage d'une instance, une zone de mémoire partagée
appellée SGA est allouée et des processus d'arrières plan sont démarrés.
Un processus est un mécanisme qui tourne dans la mémoire d'un
ordinateur, il est définit comme un "THREAD OF CONTROL" qui est une liste de tâches
qui
s'exécute étape par étape.
Lorsqu'une instance démarre, le logicile Oracle lui associe une base de
données spécifique, on parle "montée la base de données" ou "MOUNTING DATABASE";
Puis la base de données
peut-être ouverte afin que les users autorisés puissent s'y connecter.
- Base de données (structures physiques et structure logiques)
Puisque les structures physiques et logiques sont séparées, le stockage
physique peut-être géré sans pour autant affecter l'accès aux structures de
stockage logiques.

2 - Oracle Multitenant Container Database (CDB) - Introduction


**********************************************************
Termes à retenir dans cette architecture
- Container: c'est une collection de données et de métadonnées dans une
architecture Multitenant.
- Pluggable database (PDB): c'est une collection portable de schémas,
d'objets de schéma et d'objets non-schéma.
- CDB (conteneurs dans un Multitenant container database contiennent):
** CDB root Container (connu sous le nom de root), nommées CDB$ROOT et
contient plusieurs fichiers de données
- les fichiers de données stockent les métadonnées fournies par
Oracle et les user communs (connu de tous les containers). Cette info est partagée
à tou sles PDBs.
** System container (contenant le root et tous les PDBs)
** Applications containers
** Root PDB (PDB Seed), nommé PDB$SEED, est un template fournit par le
système
- il contient plusieurs fichiers de données sui servent à la
création de nouveaux PDBs (ou user-created PDB)
** User-created PDBs ou tout simplement PDB
- il contient plusieurs fichiers de données contenant les données
et le code requis pour prendre en charge une application (exemple l'aplication des
Ressources Humaines)
- les user ne communiquent qu'avec les PDBs et non le PDB Seed ou
le root container.
- pour un utilisateur ou une application, les PDBs apparaissent
logiquement comme des BDs séparées (on peut avoir par exemple les PDBs suivant:
SALES PDB, HR PDB)
- on peut créer un ou plusieurs PDB dans un CDB

Physiquement, un CDB est constitué d'une instance de base de données et des


fichiers de données comme un serveur de bd normal.
La différence est qu'il permet d'éviter la redendance:
- des processus d'arrières plan
- la gestion de la mémoire partagée et de certaines mémoires
- de certains métadonnées

Un CDB regroupe:
- plusieurs applications dans une seule instance
- un seul ensemble de processus d'arrière plan
- Une seule allocation de la SGA
- un seul dictionnaire de données au niveau du root
- il est commun à tous les PDBs
- chaque PDB gère lui-même le dictionnaire de données de son application
Lorsqu'une application doit-être mise à jour ou à niveau, l'opération se fera
uniquement au niveau du CDB de ce fait toutes les autres applications seront mise à
jour et à niveau.
PS: L'un des objectifs de l'architecture multi-tenant est que chaque PDB ait une
relation individuelle avec une application.

3 - Configuration de l'instance de base de données Oracle


*****************************************************
Note: Une instance de base de données ne peut pas être partagée !!
- Chaque instance est associée à une seule BD
- s'il existe plusieurs BDs sur un même serveur, alors il y'aura des
instances séparées et distinctes pour chacune des BDs

Dans un système de base de données en RAC (Real Application Cluster), il y'a


souvent plusieurs instances sur des serveurs différents qui se partagent une base
de données, cad que la même BD est associée à chacune des
instances du RAC, ce qui répond à l'exigence selon laquelle UNE SEULE BD est
associée à UNE instance.
Schema:
Nonclustered system
serveur alpha (instance 1) --> stockage - bd 1
serveur alpha (instance 2) --> stockage - bd 2

Clustered system
serveur 1 (instance 1) --> stockage - bd unique
serveur 2 (instance 2) --> stockage - bd unique
serveur 3 (instance 3) --> stockage - bd unique

4 - Database sharding - Introduction


********************************
Termes à connaître
Horizontal partitioning: c'est le fait de diviser la table d'une BD en
plusieurs tables appelées sharded table ou shard
Sharding: est une architecture niveau données, où les données sont divisées
de façon horizontale entre des BDs indépendantes appelées SHARD
Shard : bases de données indépendantes qui contiennent chacune les mêmes
colonnes d'une table mais pas les mêmes lignes
Sharded database ou SDB: ensemble de shard qui forme une seule base de
données indépendante.
Exemple: dans une BD on a une seule table (Unsharded table) qu'on peut diviser de
façon horizontale en plusieurs table, où chaque table sera dans une BD indépendante
appelée SHARD.
Server contenant la table principale dans une seule BD, en faisant le
sharding database de cette table on se retrouve avec par exemple:
Server A --> sharded table 1
Server B --> sharded table 2
Server C --> sharded table 3
L'ensemble forme un Shaerded database ou SDB
NOTE: le sharding est une architecture de base de données "sharing-nothing" car les
Shards ne partagent aucunes ressources physiques (CPU, memoire, ou structure de
stockage).
Les shard sont aussi faiblement couplés en terme d'application, ils n'exécutent pas
de clusteware.

Pour un DBA, un SDB est un ensemble de BDs qui peuvent être gérer soit
collectivement soit individuellement.
Pour un développeur d'application, un SDB apparaît comme un single database. Le
nombre de shards et la distribution des données entre les shards sont complètement
transparentes pour applications de base de données.

https://www.oracle.com/webfolder/technetwork/tutorials/architecture-diagrams/19/
database-technical-architecture.html

Vous aimerez peut-être aussi