Blog powered by TypePad

Bases de données distribuées

Qu'est-ce qu'une base de données distribuée ?

Une base de données distribuée est constituée d'un ensemble de bases de données implémentées dans un système distribué (Un système possédant plusieurs noeuds), mais ces bases sont  perçu par les applications comme une seule source de données. Chacune des bases de données du système distribué joue le rôle d'un serveur et d'un client vis à vis des autres bases de données.
Si toutes les bases de données du système distribué sont des bases ORACLE, il s'agit dans ce cas d'un système homogène. Par contre si l'une des bases de données n'est pas une base de données ORACLE, on parle d'un système de base de données distribué hétérogène.
Les applications qui attaquent une base de donnée distribuée ne font pas de différences entre un système homogène et un système hétérogène, parceque le serveur ORACLE masque la complexité du système hétérogène, et les applications ne voient qu'une seule source de données ORACLE.

Remarque : Dans un système homogène, on peut avoir des noeuds avec différentes versions d'ORACLE.

Qu'est-ce qu'une transaction distribuée ?
Une transaction distribuée est une transaction qui attaque au moins deux bases de données du système distribué. Par contre on appelle une transaction distante toute transaction qui attaque un et un seul noeud distant du système distribué.

Quelle est la différence entre les systèmes distribués et la réplication ?
Une base de données distribuée consiste à construire à partir de plusieurs bases de données hébérgées dans des noeuds différents une seule source de données. Par contre la réplication consiste à copier et à gérer les objets entre les différents noeuds d'un système distribué pour permettre  aux applications d'accéder dans un noeud à des données d'un autre noeud, et ceci dans le but de diminuer le trafic réseau, d'améliorer les performance, de faciliter la gestion, de diminuer le risque de la non disponibilité des données (si un noeud tombe, les données sont toujours disponible sur un autre noeud) ...

Questions Control files

A quel moment Le serveur ORACLE Accède au control file

  1. Quand l'instance ORACLE est démarrée
  2. Quand la base de données est montée
  3. Quand la base de données est ouverte

B Si ORACLE n'arrive pas à accéder à son control file ?

  1. Le serveur ORACLE génère un warning mais la base de données reste Opérationnelle
  2. La BD est arrêtée et ne peut plus fonctionner
  3. La BD continue de fonctionner normalement

C Parmis ces evenements, le quel n'est pas enregistré dans le control file

  1. Checkpoint
  2. Création d'un groupe RedoLog
  3. Création d'un Tablespace
  4. Commit

REPONSES :

A - 2 / B - 2 / C - 4 

Pour avoir des explication sur les réponses écrivez-moi Dans mon Blog

Questions Architecture

A. Qu'est ce qu'une instance ORACLE ?

  1. Une base de données ORACLE
  2. La mémoire SGA + les Background Process
  3. L'ensemble des fichiers système d'une base de données
  4. L'ensemble des Process qqui gèrent les données

B Parmis ces fichiers le quel n'appartient pas à une BD ORACLE ?

  1. Fichier de controle ( control file )
  2. Fichier RedoLog ( Redolog file )
  3. Fichier de données (Data file )
  4. Fichier d'initialisation des paramètres ( Init.ora )

C Le quel de ces process permet de remonter les blocks de données du disk vers la mémoire

  1. Server
  2. DBW0
  3. LGWR
  4. SMON
  5. PMON

REPONSES :

A - 2 / B - 4 / C - 1 

Pour avoir des explication sur les réponses écrivez-moi Dans mon Blog

Architecture de la SGA

La SGA (Shared Global Area) est la partie de la mémoire utilisée par ORACLE, qui est partagée entre les différents process ( Server process et Background process ). Si plusieurs utilisateurs se connectent simultanement à une base de données, ils partagent la même SGA.
Les différentes parties de la SGA sont :

  • Buffer Cache
  • Redo Buffer
  • Shared Pool
  • Java Pool
  • Large Pool
  • Streams Pool

Qu'est-ce qu'une base de données ORACLE ?

Une base de données ORACLE est constituée d'un ensemble de fichiers système. Ces fichiers sont de trois types différents :

  • Data Files : Les datafiles ou les fichiers de données contiennent les structures de données, les objets de la base de  données (Tables, procédures stockées, indexes, ... ), et les données.
  • RedoLogs : Permettent de stocker les modifications effectuées sur les données en mémoire, et qui ne sont pas encore appliquées sur les dataFiles.
  • Control Files : Contienent le nom de la base de données, sa structures physique ( l'emplacement des fichiers de données et des fichiers RedoLogs.

Est-ce que Oracle Utilse d'autres fichiers ?

Pour que ORACLE gère une base de données, il utilise aussi des fichiers qui sont à externe :

  • Fichier de paramètres initXXXX.ora : Ce fichier est lu par ORACLE au démarrage de l'instance, et il contient les paramètres d'initialisation de l'instances. Comment ORACLE son fichier de paramètres ? Quels sont les paramètres les plus utilisés ? et quelles sont leurs définitions ?
  • Le fichier de mots de passe
  • les fichiers Log Archivés

Une Base de données ne peut fonctionner sans instance !

Pour que ORACLE puisse gérer une base de données il a besoin de :

  • Mémoire : Pour une question de performances, la gestion de données ce fait dans la mémoire, et les données sont écrites après ( en différé ) dans les fichiers. ORACLE utilise une mémoire partagée entre les différents Process ( Server Process et BackGround Process) et qu'on appelle SGA (Shared Global Area), et une mémoire privé pour chaque process qu'on appelle PGA ( Private Global Area ).
  • Process : Ilfaut distinguer entre deux types de Process, Le Server Process et les Background process.

L'ensemble de la SGA et les Process constituent une Instance ORACLE. Une instance ne peut être associée qu'a une et une seule base de données, par contre une base de données peut utiliser plusieurs instance.

Remarque : pour qu'une base de données utilise plusieurs instances il faut installer et configurer des composants particuliers au niveau d'Oracle et du système d'exploitation.