SGBD oracle




 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), le processus chargé d'écrire le contenu des buffers dans les fichiers de données
  • 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 mode ARCHIVELOG. 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.