Vous êtes sur la page 1sur 4

Les Fonctionnalités d'oracle:

Oracle est un SGBD permettant d'assurer :


 La définition et la manipulation des données
 La cohérence des données
 La confidentialité des données
 L'intégrité des données
 La sauvegarde et la restauration des données
 La gestion des accès concurrents
Les composants oracle :

Outre la base de données, la solution Oracle est un véritable environnement de travail


constitué de nombreux logiciels permettant notamment une administration graphique
d'Oracle, de s'interfacer avec des produits divers et d'assistants de création de bases de
données et de configuration de celles-ci.
On peut classer les outils d'Oracle selon diverses catégories :
 Les outils d'administration
 Les outils de développement
 Les outils de communication
 Les outils de génie logiciel
 Les outils d'aide à la décision
Les outils d’administration :

Oracle est fourni avec de nombreux outils permettant de simplifier l'administration de la base
de données. Parmi ces outils, les plus connus sont :
 Oracle Manager (SQL*DBA)
 NetWork Manager
 Oracle Enterprise Manager
 Import/Export : un outil permettant d'échanger des données entre deux bases Oracle
Architecture du SGB Oracle :

Une base de données Oracle est constituée de plusieurs éléments :

 Des processus chargés en mémoire sur le serveur


 Des fichiers physiques stockés sur le serveur
 D'un espace mémoire sur le serveur appelé SGA (System Global Area)
On appelle instance Oracle les processus et la SGA d'une base de données Oracle.

Les processus d’oracle :

Le fonctionnement de la base Oracle est régi par un certain nombre de processus chargés en
mémoire.
On distingue généralement deux types de processus :
 les processus utilisateurs (appelés aussi user process ou noyau oracle)
 les processus systèmes (oracle process).
Un processus utilisateur est créé pour chaque programme exécuté par un utilisateur (par
exemple Oracle Forms ou Server Manager) afin de fournir l'environnement nécessaire à
l'exécution de celui-ci. Le processus utilisateur ainsi créé communique avec les processus
systèmes à travers le programme interface.
On distingue deux types de processus utilisateurs :
 Oracle Server Code, aussi appelé noyau d'Oracle, est chargé d'interpréter et
d'exécuter les requêtes SQL, ainsi que de gérer la mémoire et les fichiers de données
 Code spécifique de l'outil, l'implémentation qui exécute réellement les commandes
SQL.
Les processus Oracle (processus système) se classent en deux catégories :
 Les processus serveurs (process server) gérant les requêtes des utilisateurs. Le
processus serveur est chargé de la communication entre la SGA et le processus utilisateur. Il
permet ainsi d'analyser et d'exécuter les requêtes SQL des utilisateurs, de lire les fichiers de
données et de placer les blocs de données correspondants dans la SGA.
 Les processus d'arrière-plan (background process) chargés d'assurer le
fonctionnement interne du SGBD Oracle.
Chaque processus a pour nom ora_nomduprocessus_SID où SID représente le nom de
l'instance à laquelle le processus est associé.
Les 4 principaux processus systèmes sont :
 DBWR (DataBase Writer ou Dirty Buffer Writer), le processus chargé d'écrire le
contenu des buffers dans les fichiers de données
 LGWR (Log Writer), le processus chargé d'écrire le contenu des buffers dans les
fichiers Redo Log
 PMON (Process Monitor), le processus chargé de nettoyer les ressources, les verrous
et les processus utilisateurs non utilisés
 SMON (System Monitor), le processus chargé de vérifier la cohérence de la base de
données et éventuellement sa restauration lors du démarrage si besoin
Il existe également d'autres processus d'importance secondaire :
 CKPT (CheckPoint), inscrit les informations de point de reprise dans les fichiers de
contrôles et dans l'entête de chaque fichier de données. C'est ce point de reprise qui permet de
rendre cohérent les fichiers de contrôles et les fichiers de données, indispensable pour un
processus de récupération.
 RECO (Recoverer), il s'agit d'un processus optionnel permettant de résoudre les
transactions interrompues brutalement dans un système de bases de données distribuées (par
exemple un système de réplication de bases de données)
 ARCH (Archiver). Ce processus est optionnel et n'existe qu'en modeARCHIVELOG.
Il permet de dupliquer les fichiers Redo-Log dans un espace d'archivage.
 Dnnnn (Dispatcher, nnnn représente une suite de nombre entiers) : Ce processus est
optionnel et n'est présent que dans les configurations MTS (multi-threaded server). Il permet
de router les requêtes des potes clients-serveur distant vers les autres serveurs. Il existe au
moins un processus Dnnnn pour chaque protocole de communication
 Snnnn (Server, nnnn représente une suite de nombre entiers) : Ce processus est n'est
également présent que dans les configurations MTS. Il permet de recevoir les demandes de
connexions distantes envoyées par le processus Dnnnn d'un serveur distant.
 LCKn (Lock) est un processus de verrouillage utilisé lorsque Oracle Parallel Server
est installé.

Les fichiers physiques d'une base Oracle

Les fichiers physiques d'une base Oracle permettent de stocker de manière persistante les
données manipulées par Oracle, tandis que la mémoire sert à optimiser la vitesse de
fonctionnement de la base de donné.
On distingue généralement deux types de fichiers :
 Les fichiers servant à stocker les informations de la base. Tous ces fichiers sont des
fichiers binaires, ce qui signifie qu'ils sont inexploitables avec un éditeur de texte.
 Les fichiers destinés à la configuration et au fonctionnement de la base Oracle
Oracle a défini une architecture permettant de définir une méthode d'organisation standard des
fichiers de la base Oracle. Cette architecture est nommée OFA (Optimal Flexible
Architecture).
Les fichiers d'une base de données Oracle sont les suivants :
 Les fichiers de données (dont l'extension est .dbf). Ces fichiers contiennent
l'ensemble des données de la base (les tables, les vues, les procédures stockées, ...).
 Les fichiers Redo Log (dont l'extension est .rdo ou .log). Ces fichiers contiennent
l'historique des modifications effectuées sur la base de données
 Les fichiers de contrôle (dont l'extension est .ctl). Ces fichiers permettent de stocker
les informations sur l'état de la base de données (emplacement des fichiers, dates de création,
...)
Une base de données Oracle nécessite au minimum un fichier de données, deux fichiers redo
Log et un fichier de contrôle.

Les structures mémoire


Le System Global Area

Le SGA correspond à un groupe de structures de mémoire partagée, ce groupe contient


des données et des informations de contrôle
On peux distingué 3 partie distinctes :
- La zone de partage des requêtes qui est composée de zones de requêtes partagées
nécessaire pour exécuter un ordre SQL, mais aussi du cache du dictionnaire des données
- Le cache des buffers qui garde en copie les blocs de données lus sur le disque
-Le buffer redo log s'occupe de conserver les modifications apporté à la base de donnée
tel que des updates, commit. Ce qui est utile dans le cas d'une restauration de la base suite
par exemple à une erreur de manipulation.
Pour revenir sur le cache des buffers, il est lui même composée de deux parties. La liste
des buffers qui vont être écrit sur le disque puis la liste LRU qui se compose de 3 éléments
:
- Les buffers allant être écrits sur le disque
- Les buffers libre
- Les buffers en cours d'accès

Le Program Global Area

Le PGA est défini par une zone de mémoire non partagée contenant des informations d'un
utilisateur, elle est allouée lors de l'ouverture d"une session

Les process
Process utilisateurs

A chaque fois qu'un utilisateur exécute un programme applicatif un process


utilisateur est démarré, ces process gèrent aussi la communication avec le process
server que nous allons de suite décrire.

Process server

Les process server sont créé par Oracle Server pour répondre aux requetes effectuées
par le process utilisateur. Donc sa fonction primaire est de communiquer avec les
process utilisateur et interargir avec Oracle pour répondre aux requêtes.

Process détachés

Les process détachés sont utilisé par Oracle pour réalisés des tâches pour les
utilisateurs de la base, nous pouvons distinguer 4 process indispensables :
- Process monitor : Restaure un process utilisateur quand celui-ci echoue.
- System monitor : Restaure la section au démarrage et créé et supprime les segments
temporaires.
- Log writter : Extrait les données du buffer redo log pour les mettre dans les fichiers
redo log.
- Database writter : Ecrit les données du buffer de la base sur les fichiers de données

Le SGA a pour rôle de stocker les données lues sur le disque dur afin de les pouvoir partager entre les
différents processus.