WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Mise en place d'un système d'information sous Oracle basé sur une architecture trois tiers

( Télécharger le fichier original )
par Saher Tegane
Université El-Hadj Lakhdar - BATNA - Ingénieur d’Etat en Informatique 2008
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

5.1 Le serveur Oracle

IL s'agit du système installé sur une machine qui va permettre la gestion de toutes les

bases de données disponibles sur la machine. Le serveur oracle est basé sur une

Architecture MultiServeurs. Le serveur est responsable de traitement de toutes les activités

de la base de données tel que l'exécution des instructions SQL, gestion des ressources et utilisateur, et gestion du stockage,

Pour consulter les données, l'utilisateur doit tout d'abord se connecte à un Serveur

Oracle. Il existe trois types de connexions grâce auxquelles un utilisateur peut accéder à un Serveur Oracle :

1. Connexion locale.

2. Connexion Deux Tiers.

3. Connexion Multi Tiers.

Un serveur Oracle = une base de données sur disque + des données chargées en mémoire ou SGA+ Des processus d'arrière plan.

Lorsque un utilisateur est connecté à une machine sur laquelle réside un Serveur Oracle, deux

processus supplémentaire sont invoqués : Le processus utilisateur et le processus serveur. Une connexion spécifique entre un utilisateur et un serveur Oracle est appelé une Session.

La session démarre lorsque la connexion de l'utilisateur est validée par le serveur Oracle et se

termine lorsqu'il se déconnecte ou lorsqu'une fin de connexion prématurée se produit.

De nombreuses sessions concurrentes d'un même utilisateur ou de plusieurs peuvent s'exécuter sur le serveur Oracle.

La figure suivante illustre l'architecture du serveur Oracle qui consiste en les structures du stockage, les processus, et les fichiers.

Figure 05 : l'architecture du système oracle.

5.2. L'instance Oracle

Lors du démarrage d'une base, une partie de la mémoire principal de l'ordinateur est allouée appelée SGA ; En outre, plusieurs processus d'arrière plan sont lancés, La combinaison de SGA et les processus d'arrière plan constituent ce que l'on appelle une instance.

Une fois qu'une instance est démarrée, la base peut être montée et les utilisateurs peuvent avoir accès aux informations présentes dans la base.

L'instance est en fait la composition de 2 sous ensembles :


· Une zone mémoire SGA :assurant le partage des données des différents utilisateurs, c'est- à-dire qu'il s'agit de la zone contenant les structures de données accessibles par tous les processus ; Elle va servir à stocker les données issues des fichiers de données sur le disque dur. Afin de pouvoir les partager entre les différents processus.

· Des processus d'arrière plan : Ils vont servir à gérer les transferts de données entre la mémoire et le disque dur, plus d'autres actions nécessaires au bon fonctionnement de la base de données.

Le SGA ou System global Area

Le SGA sert comme la partie de la mémoire où toutes les opérations de la base de données ont se produire. Par exemple si plusieurs utilisateurs se connectent en même temps, ils partagent tous le SGA.

Le dimensionnement de cette zone peut être important pour les performances de la base. Augmenter la taille de certaines zones du SGA permet de diminuer les entrées sorties disque, par exemple.

Le SGA se compose de plusieurs structures de groupe de mémoire, les trois principales étant :

 

La zone mémoire Shared Pool

 

Shared Pool est la partie du SGA qui est utilisé par tous les utilisateurs. Il Contient les requêtes SQL les plus récemment exécutées et l'information du dictionnaire de données la plus récemment utilisée. Elle est utilisée pour partager les informations sur les objets de la base de données ainsi que sur les droits et privilèges accordés aux utilisateurs.

Cette zone mémoire se découpe en 2 blocs :

· Le Library Cache.

· Le Dictionnary Cache.

La zone mémoire Database Buffer Cache

Cette zone mémoire sert à stocker les blocs de données utilisés récemment. Ce qui signifie que lorsque vous allez lancer une première fois la requête Oracle, cette dernière va se charger de rapatrier les données à partir du disque dur. Mais lors des exécutions suivantes les blocs de

données seront récupérés à partir de cette zone mémoire, entraînant ainsi un gain de temps. La zone mémoire Redo Log Buffer

Ce buffer conserve les traces des transactions. Il permet de stocker les enregistrements redo log. Cette zone mémoire sert exclusivement à enregistrer toutes les modifications apportées sur les données de la base. C'est une zone mémoire de type circulaire et séquentielle.

Le fait que cette zone mémoire soit de type séquentielle, signifie que les modifications effectuées par une transaction peuvent être imbriquées avec celles d'autres transactions.

Le fait que ce buffer soit circulaire signifie que Oracle ne pourra écraser les données contenues dans ce buffer que si elles ont été écrites dans les fichiers REDOLOG FILE.

La zone mémoire Program Global Area (PGA)

Similairement au SGA, il existe La zone mémoire PGA, cette mémoire est associé à un processus (et inversement). Ce PGA sert à temporiser les données que manipule le processus, toujours dans un souci d'optimisation.

Contrairement aux autres zones mémoire celle-ci n'est pas partagée. Elle est seulement utilisée par des processus serveur ou d'arrière plan. Elle est allouée lors du démarrage du processus et libérée lors de l'arrêt du processus.

 

Les processus d'une instance

Le fonctionnement de la base Oracle est régi par un certain nombre de processus chargés en mémoire permettant d'assurer la gestion de la base de données. On distingue généralement deux types de processus :

Les processus utilisateurs (appelés aussi user process ou noyau oracle)

Ces processus assurent la liaison entre les programmes utilisateurs, les processus de la base de données, la zone SGA et les fichiers qui composent la base. Le processus utilisateur affiche aussi l'information demandée par l'utilisateur

Un processus utilisateur est créé pour chaque programme exécuté par un utilisateur (par exemple Oracle Forms) afin de fournir l'environnement nécessaire à l'exécution de celui-ci.

1. Les processus serveurs (process server)

Les processus serveur, aussi connu comme Shadow Processes, il communiquent avec l'utilisateur et réagissent réciproquement avec Oracle pour exécuté les demandes de l'utilisateur. Par exemple, si le processus utilisateur demande des données qui ne sont pas dans le SGA, le processus serveur est responsable pour lire les blocs de données correspondants du datafiles dans le SGA.

Il existe deux types de processus serveurs

1. Les processus dédiés : une relation un à un (one to one) est fait entre processus utilisateur et processus de serveur. Donc un processus s'occupe d'un client unique (comme dans une configuration dedicated server).

2 .Les processus multi-thread : Un processus s'occupe de plusieurs clients (comme dans une configuration serveur du multi-thread), faire donc réduit l'utilisation de ressources de système.

Le lien entre le processus utilisateur et le processus serveur est appelé une connexion.

Si l'utilisateur se connecte localement sur le serveur, le chemin de communication est établi via un mécanisme de communication inter processus.

Si l'utilisateur se connecte via une machine cliente, un logiciel réseau est utilisé.

2. Les processus d'arrière-plan (background process)

Ils sont utilisés pour exécuter plusieurs tâches dans le système RDBMS, Ces tâches varient entre la communication avec autre instance Oracle et d'assurer le fonctionnement interne du SGBD Oracle (gestion de la mémoire, écriture dans les fichiers, ...).

Oracle 9i comprend cinq processus d'arrière plan obligatoires pour une instance : 1. Le processus DataBase WRiter (DBWR)

Ce processus chargé du transfert des blocks de données modifiés du buffer mémoire du SGA dans les fichiers disque de la base de données. Ce processus est aussi là pour vérifier en permanence le nombre de blocks libres dans le Database Buffer Cache afin de laisser assez de place disponible pour l'écriture des données dans le buffer.

2. Le processus System MONitor (SMON)

Ce processus, père de tous les processus de l'instance, s'occupe de plusieurs tâches. Il permet de surveiller la base de son démarrage puis au cours de son fonctionnement, Il se charge notamment d'optimiser l'utilisation de la mémoire dans le système. Il se charge aussi d'assurer la reprise du système lors de tout démarrage d'une instance.

3. Le processus Process MONitor (PMON)

Ce processus se charge notamment de libérer toutes les ressources acquises par un processus client, lorsque celui-ci se termine. Il se charge du nettoyage de la zone mémoire SGA, Il est aussi chargé de surveiller les processus serveurs et les processus dispatchers : si l'un d'eux s'arrêtait anormalement, le PMON se chargerait de libérer les ressources de ce processus et de le relancer.

4. Le processus LGWR (Log Writer)

Le processus LGWR est responsable d'écrire le contenu des buffers dans des fichiers journaux appelés fichiers Redo Log.

Ce processus garanti la sécurité de la base de donnés,en fait dés qu'une transaction est validée,oracle écrit les données modifiées à deux emplacement différents, de façon a pouvoir repartir si un problème matériel survient. La première copie est assurée par le processus DBWR dans les fichiers contenant les données, cette copie n'est pas forcement immédiate: pour augmenter les performances et éviter des goulots d'étranglement, un délai d'écriture peut exister. Pour conserver l'intégralité des données présentes en mémoire mais en attente d'écriture sur disque, une seconde copie immédiate est assurée par le processus LGWR dans les fichiers Redo Log.

5. Check point (CKPT)

Le processus de point de reprise CKPT enregistre les données dans le fichiers de contrôle a intervalle réguliers. Pour identifier l'emplacement de départ de la récupération. Cette opération appelée point de reprise.

Il existe également d'autres processus d'importance secondaire : Recoverer (RECO)

Archiver (ARCn)

Lock (LCKn)

Dispatcher (Dnnn)

Shared Server (Snnn)

Parallel Query Slaves (Pnnn)

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Entre deux mots il faut choisir le moindre"   Paul Valery