Architecture (s) Oracle

Administration Oracle, Divers Ajouter un commentaire

Architectures locales et réparties

On peut distinguer essentiellement 3 types d’architecture globale 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

    archi locale

  • architecture client/serveur
    On a 2 poles : 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.

    archi 2 tier

  • architecture 3 tiers
    On a 3 poles : cleint / serveur d’application /serveur de donnéesPas 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.

archi 3 tier

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

Instance ?
Rappel : Une instance est caractérisée par son identificateur : SID, généralement une variable ORACLE_SID positionnée dans l’environnement.

Une instance active en mémoire ce sont :
- des programmes de fond, services ou processus, qui assurent la maintenance du serveur de données et les entrées / sorties fichiers
- des process server (dédiés ou non à un utilisateur)
- une zone globale partagée : la SGA, qui contient essentiellement du cache de buffers
- des zones mémoires dédiées aux utilisateurs : les PGAs (Private Global Area)

instance gene

Schéma de l’architecture générale en mémoire

La SGA
La SGA est essentiellement un cache mémoire qui contient des infos partagées de la base.

Les process de fond
Ils permettent de paralléliser et désynchroniser les accès multi-utilisateur à la base.
Nous allons lister les principaux :

  • DBWn Database Writer
    Ecrit les données modifiées, du cache de données de la SGA vers les fichiers de données. On peut en avoir plusieurs (max 20) suivant la valeur du parametre DB_WRITER_PROCESSES
  • LGWR Log Writer
    Ecrit les mises à jour, du cache de LOG de la SGA vers les ou le fichiers REDOLOG, suivant qu’on utilise des LOGs multiplexés ou non.
  • CKPT Checkpoint
    Signale l’occurence d’un point de reprise (flush de tous les buffers de données), à DBWR
  • PMON Process Monitor
    Libère les ressources et nettoie le cache en cas d’échec d’un process utilisateur
  • SMON System Monitor
    Surveille les process de l’instance et assure les restaurations d’instance
  • RECO Recoverer
    Gère les transactions distribuées (commit à 2 phases)

et optionnellement :

  • ARCn Archiver
    sauvegarde le REDOLOG qui vient d’être terminé
  • Dnnn Dispatcher
    Distribue les accès utilisateurs, vers les serveurs partagés, en architecture multiplexée (Shared Server)
  • Snnn Shared Server
    Process utilisateurs partagé, en architecture multiplexée
  • CJQn Coordinateur de jobs batch
    Jnnn Process fils dédiés aux Jobs
  • QMNn - Queue monitor
    gestionnaire de file d’attente, pour l’option Oracle Advanced QUeuing
  • Pnnn Esclave d’execution Parallele
    Exécution des requêtes parallèles. Le nb max de process est donné par : PARALLEL_MAX_SERVERS
  • LCKn Lock monitor
    verrouillage des ressources utilisées par plusieurs instances
  • LMS Global cache service
    Gestion des ressources inter-instances en architecture cluster (RAC)

instance detail

note : sous Unix/Linux ces process correspondent à des process Unix, qui appartiennent à l’utilisateur Oracle et s’exécutent de manière ‘déconnectée’ (background).
On peut facilement en avoir la liste avec la commande suivante :
$> ps -ef |grep oracle

process unix

Sous Windows ils correspondent à des services :

services

Faire un commentaire