4 - Bases de données Oracle

4.1 - Bases, instances et serveurs de données

Une base de données Oracle est un objet riche et complexe composé physiquement d’une INSTANCE (zone mémoire partagée + processus de fond) et d’un certain nombre de FICHIERS PHYSIQUES, totalement indépendants du nombre de table (vrai SGBDR!).
Une base de données peut héberger des centaines, voire des milliers, d’applications, d’utilisateurs et de tables.

Un ensemble de tables (et de structures de données connexes) fonctionnellement dépendantes et appartenant au même utilisateur s’appelle us SCHEMA (parfois un COMPTE) Oracle.

Pour fixer les idées une ‘DATABASE’ MySQL correspond à un SCHEMA Oracle.

note : dans la pratique on confond généralement la notion d’instance Oracle avec la notion de base de données Oracle. En théorie, une base de données peut être partagée par plusieurs instances, mais cela est assez rare. Cela permet de faire une réparttion de la charge ou d’introduire de la redondance, pour pallier à des problèmes éventuelle de panne de CPU…

instances

exemple de 2 instance qui se partagent une base de données physique

Un serveur de données ‘au sens Oracle) est l’ensemble : intance(s) + base de données physique

4.2 - Architectures locales et réparties

On peut distinguer essentiellement 3 types d’architecture globales de systèmes d’information basés sur Oracle :

  • architecture locale
    Tout est sur le même serveur matériel, programme client et serveur de données Oracle
  • architecture client/serveur
    On a un programme client (un exécutable) sur le poste client, dit alors ‘client lourd’ . Le PC communique avec le serveur de données sur un serveur distant, via le réseau, et la couche Oracle Net.
  • architecture 3 tiers
    Pas de programme client. Un navigateur suffit sur le poste de travail (dit alors ‘client léger’). Il dialogue avec le seveur de données distant via http.

note : il existe également des architectures n- tiers plus anecdotiques, mais conceptuellement intéressantes

archit_3tier

exemple d’architecture 3-tier

4.3 - Assistant de création ‘dbca’

Un assistant de création de base de données est fourni avec Oracle 10g. Celui ci est lancé automatiquement, si on le souhaite lors de l’installation du logiciel.
Cet utilitaire se trouve dans ORACLE_HOME/bin.
Pour le lancer :
- sous Windows : Menu Démarrer , Programmes , Oracle-OraDb10g_home1 , Configuration and Migration Tool
- sous Unix / Linux : $> dbca&

(attention, un environnement Xwindows opérationnel est nécessaire, si vous avez un poste Windows, MobaXterm est TRES pratique ! )

A chaque étape de la création, Oracle propose des valeurs de paramètres par défaut, et il est possible de ‘court-circuiter’ tous les écrans qui suivent en cliquant sur ‘Terminer’.

dbca

Les modèles

Les modèles de BDs ou templates, servent à créer, dupliquer, voire cloner facilement des bases de données physiques..
Oracle fournit 3 templates prédéfinis qui satisfont la plupart des cas d’utilisation des BDs en entreprise. Templates pour :
- des entrepots de données (datawarehouse),
- des bases standards,
- le transactionnel.
Il est bien sûr possible de plus de définir et personnaliser son propre modèle.

Concrètement les modèles sont des fichiers XML, d’extension ‘dbc’ localisés dans le répertoire ORACLE_HOME/assistants/dbca/templa.
Ci-après un exemple d’extrait de fichier pour une base standard :
General_Purpose.dbc

Ils contiennent essentiellement des valeurs pour :
- les options de la BD,
- les paramètres d’initialisation,
- les attributs d’allocation de fichiers et de tablespaces.

note : les templates peuvent également contenir les fichiers de données et redolog de la base, dans un format compressé (’.dfj’) ou non (’.dfb’)

Principales options de création

Outre les templates, dbca permet de faire un certain nombre de choix importants :
- le type d’administration : locale (database control) ou centralisée (grid control)
- le type de stockage : via le gestionnaire de fichier OS (file system) ou géré automatiquementt par une instance spécifique Oracle (Automatic Storage Management / ASM)
- le type de restauration : ‘Flash Recovery’ ou via des archives de journaux
- le jeu de caractère utilisé pour le stockage des données