Académique Documents
Professionnel Documents
Culture Documents
BD Chapitre1
BD Chapitre1
1. Historique
Oracle est un SGBD (système de gestion de bases de données) édité par la société du même
nom (Oracle Corporation - http://www.oracle.com/), leader mondial des bases de données.
La société Oracle Corporation a été créée en 1977 par Lawrence Ellison, Bob Miner, et Ed
Oates. Elle s'appelle alors Relational Software Incorporated (RSI) et commercialise un
Système de Gestion de Bases de données relationnelles (SGBDR ou RDBMS pour Relational
Database Management System) nommé Oracle.
En 1979, le premier prototype (RDBMS - RSI1) intégrant la séparation des espaces
d'adressage entre les programmes utilisateurs et le noyau Oracle est commercialisé. Cette
version est entièrement développée en langage assembleur. La seconde version (RDBMS -
RSI2) est un portage de l'application sur d'autres plates-formes.
En 1983 la troisième version apporte des améliorations au niveau des performances et une
meilleure prise en charge du SQL. Cette version est entièrement codée en langage C. A la
même époque RSI change de raison sociale et devient Oracle.
En 1984 la première version d'Oracle (Oracle 4) est commercialisée sur les machines IBM.
En 1985 Oracle 5 permet une utilisation client-serveur grâce au middleware SQL*Net.
En 1986 Oracle a été porté sur la plateforme 8086.
En 1988 Oracle 6 est disponible sur un grand nombre de plates-formes et apporte de
nombreuses nouvelles fonctionnalités ainsi qu'une amélioration notable des performances.
En 1991, Oracle 6.1 propose une option Parallel Server (dans un premier temps sur la DEC
VAX, puis rapidement sur de nombreuses autres plates-formes).
En 1992, Oracle 7 sort sur les plates-formes UNIX (elle ne sortira sur les plates-formes
Windows qu'à partir de 1995). Cette version permet une meilleure gestion de la mémoire, du
CPU et des entrées-sorties. La base de données est accompagnée d'outils d'administration
(SQL*DBA) permettant une exploitation plus aisée de la base. En 1997, la version Oracle 7.3
(baptisée Oracle Universal Server) apparaît, suivie de la version 8 offrant des capacités objet à
la base de données.
Oracle est écrit en langage C et est disponible sur de nombreuses plates-formes matérielles
(plus d'une centaine) dont :
• AIX (IBM)
• Solaris (Sun)
• HP/UX (Hewlett Packard)
• Windows (Microsoft)
Oracle depuis la version 8.0.5 est disponible sous Linux.
La dernière version d’Oracle est la version 18c.
2. Les versions d'Oracle
Oracle se décline en plusieurs versions
Cours Ingénierie des BD -Omar MAZHOUD- ISIGK -2021/2022 1
• Oracle Server Standard, une version comprenant les outils les plus courants de la
solution Oracle.
• Oracle Server Entreprise Edition
3. 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
4. Les composants d'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
4.1 Les outils d'administration d'Oracle
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
4.2 Outils de développement d'Oracle
Oracle propose également de nombreux outils de développement permettant d'automatiser la
création d'applications s'interfaçant avec la base de données. Parmi ces outils de
développement, on peut citer :
• SQL*Plus : une interface interactive permettant d'envoyer des requêtes SQL et
PL/SQL à la base de données. SQL*Plus permet notamment de paramétrer
l'environnement de travail (formatage des résultats, longueur d'une ligne, nombre de
lignes par page, ...)
• Oracle Developer : il s'agit d'une suite de produits destinés à la conception et à la
création d'applications client-serveur. Il est composé de 4 applications :
o Oracle Forms (anciennement SQL*Forms) : un outil permettant d'interroger la
base de données de façon graphique sans connaissances préalables du langage
SQL. SQL*Forms permet ainsi de développer des applications graphiques
(fenêtres, formulaires, ...) permettant de sélectionner, modifier et supprimer
des données dans la base.
o Oracle Reports (SQL*ReportWriter) : un outil permettant de réaliser des états
On appelle instance Oracle les processus et la SGA d'une base de données Oracle.
6. 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ées.
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
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.
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 :
• La zone SGA (System Global Area) 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
• La zone PGA (Program Global Area) permettant le fonctionnement des divers
processus (afin de stocker toutes les données ne nécessitant pas d'être partagées).
Cours Ingénierie des BD -Omar MAZHOUD- ISIGK -2021/2022 6
La SGA (appelée aussi mémoire réservée) est composée de plusieurs constituants :
• La Shared Pool (ou zone partagée) contenant des informations pouvant être réutilisées
par les différents utilisateurs, c'est-à-dire les requêtes SQL et programmes PL/SQL
pouvant être partagés, le dictionnaire de données, les curseurs, ... D'une manière
générale, cette zone sert à mémoriser, analyser et traiter les requêtes SQL provenant
des divers utilisateurs.
• Le Db block buffer (Database Buffer Cache ou cache des blocs de données) est un
espace mémoire contenant toutes les données transitant de ou vers la base de données :
blocs de données, blocs d'index et blocs contenant les ROLLBACK SEGMENTS. Il
s'agit donc d'un cache permettant d'accélérer l'accès à certaines données de la base.
• Le Redo Log buffer (ou cache Redo-log) contient les blocs de données (appelés Redo
Entries) à modifier et les modifications à effectuer sur ces données, avant que
l'ensemble de ces mises à jour de la base ne soient archivées dans les fichiers Redo-log
La SGA et les processus d'arrière plan constituent ce que l'on appelle une instance ; A chaque
démarrage d'une instance, l'espace mémoire nécessaire à son bon fonctionnement lui est
alloué, et est restitué lors de sa fermeture.
L'ensemble des tailles des caches peut être modifié (augmentée ou diminuée) grâce aux
paramètres du fichier d'initialisation (initSID.ora).
9. Présentation du dictionnaire de données Oracle
Le dictionnaire de données Oracle représente le cœur de la base de données. Il s'agit d'un
ensemble de tables systèmes contenant les informations relatives à la structure de la base de
données :
Le dictionnaire est créé au moment de la création de la base et est mis à jour. Il appartient à
l'utilisateur SYS, mais l'utilisateur SYSTEM, c'est-à-dire l'administrateur de la base, possède
des droits de lecture sur des vues du dictionnaire.
Le dictionnaire de données sert principalement dans deux situations :
• afin de vérifier la syntaxe et les privilèges sur une requête SQL
• afin d'obtenir des informations sur la structure de la base de données
De nombreuses vues permettent à des utilisateurs d'accéder à certaines parties du dictionnaire
de données. Les vues fournissent à l'administrateur de la base le meilleur moyen pour obtenir
les caractéristiques techniques de celle-ci.
Les vues du dictionnaire de données sont classées par famille et nommées en fonction de
l'appartenance à une de ces familles. Voici la liste de ces familles de vues :
• Les vues USER (dont le nom commence par USER_) donnent des informations sur
tous les objets logiques dont l'utilisateur connecté est propriétaire (tables, index, vues,
procédures, ...)
• Les vues ALL (dont le nom commence par ALL_) fournissent des informations sur les
objets pour lesquels l'utilisateur a un droit d'accès, c'est-à-dire les objets de la base
créés par l'utilisateur ainsi que tous les objets accessibles par cet utilisateur.
Contenu de ma base
---------------------------------------------
select * from DEPTJOB;
select * from SALGRADEJOB;
select * from EMPJOB;