0% ont trouvé ce document utile (0 vote)
2 vues45 pages

Introduction à Oracle Database et SGBD

Le document présente une introduction aux bases de données, en se concentrant sur Oracle comme Système de Gestion de Base de Données Relationnelle (SGBDR). Il retrace l'historique d'Oracle Database depuis son lancement en 1979, ainsi que les rôles et tâches des administrateurs de bases de données. Enfin, il décrit l'architecture d'Oracle, y compris les composants de la mémoire et les processus impliqués dans la gestion des bases de données.

Transféré par

yassine atiki
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues45 pages

Introduction à Oracle Database et SGBD

Le document présente une introduction aux bases de données, en se concentrant sur Oracle comme Système de Gestion de Base de Données Relationnelle (SGBDR). Il retrace l'historique d'Oracle Database depuis son lancement en 1979, ainsi que les rôles et tâches des administrateurs de bases de données. Enfin, il décrit l'architecture d'Oracle, y compris les composants de la mémoire et les processus impliqués dans la gestion des bases de données.

Transféré par

yassine atiki
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Administration

Oracle
Partie 1
EMSI-HONORIS 2021/2022 PR. HASNAE SAKHI/ORACLE 1
Introduction

EMSI-HONORIS 2021/2022 PR. HASNAE SAKHI/ORACLE


Les bases de données

• Une base de donnée est un ensemble de donnée stockées


d’une manière structurée , organisée avec le moins de
redondance possible .

3
Systèmes de gestion de bases de données
(SGBD)
o Oracle est un Système de Gestion de Base de Données Relationnelle
(SGBDR)
o Oracle est chargé de :
• Stocker les données,
• Vérifier les contraintes d’intégrité définies,
• Garantir la cohérence des données qu’il stocke, même en cas de
panne (arrêt brutal) du système,
• Assurer les relations entre les données définies par les utilisateurs,
• Respecte la norme ACID.
o Oracle est un Système de Gestion de Base de données multi-
platormes (UNIX, Linux et Windows)

EMSI-HONORIS 2021/2022 PR. HASNAE SAKHI/ORACLE 4


Les Bases de données Relationnelles

5
Historique d’Oracle Database

• Oracle est un SGBD édité par la société du même nom (Oracle Corporation,
société Américaine- [Link] )
• 1979: Oracle Database est lancé pour la première fois par Larry Ellison, Bob
Miner et Ed Oates sous le nom d'Oracle V2.
• 1983: Oracle Database 3 est publié, marquant le début de l'utilisation du modèle
relationnel.
• 1992: Oracle 7 est lancé, introduisant des améliorations significatives telles que la
gestion des transactions distribuées et la prise en charge des déclencheurs au
niveau de la base de données.
• 1997: Oracle 8 apporte des fonctionnalités telles que les objets relationnels et les
procédures stockées Java.

6
Historique d’Oracle Database
• 2001: Oracle 9i met l'accent sur l'auto-gestion et l'optimisation automatique des
performances.
• 2005: Oracle Database 10g introduit l'architecture de grille et la gestion automatique
des ressources.

• 2007: Oracle Database 11g se concentre sur la gestion automatisée et la


consolidation des données.
• 2013: Oracle Database 12c introduit le concept de base de données en tant que
service (DBaaS) et met en œuvre des améliorations majeures telles que la prise en
charge du multitenant et la gestion des données in-memory.
• 2023: Oracle continue à publier des versions majeures avec des améliorations de
la sécurité, des performances et de la gestion des données, la dernière version
connue étant Oracle Database 21c

7
Les métiers autour des bases de données

• Administrateurs

• Responsable de la sécurité

• Administrateurs réseaux

• Développeurs d’applications

• Utilisateurs: modifier les données, créer des rapports …

8
Tâches d'un administrateur de BD
Oracle
L’administrateur de la base de données est principalement chargé de :
1. Evaluer le matériel du serveur de base de données
2. Installer le logiciel Oracle
3. Elaborer la stratégie pour la base de données et la sécurité
4. Créer, migrer et ouvrir la base de données
5. Sauvegarder la base de données
6. Inscrire les utilisateurs système et définir leur accès
7. Implémenter la conception de la base de données
8. Récupérer la base de données suite à une panne
9. Surveiller les performances de la base de données
Les composants d'Oracle

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

10
Outils d’administration de BD Oracle

• Oracle Universal Installer (OUI) : permet d’installer le logiciel Oracle et ses options
• Database Configuration Assistant (DBCA) : permet de créer, configurer et supprimer les bases de
données
• Database Upgrade Assistant (DBUA) : mise à niveau d'une base Oracle existante vers une nouvelle
version.
• Oracle Net Manager (NetMgr) : permet de configurer la connectivité réseau des bases de données et
applications Oracle
• Oracle Net Configuration Assistant (NetCA) : permet de configurer et de gérer des configurations Oracle
Network.
• Oracle Enterprise Manager (EM) : interface web pour gérer la base de données
• Enterprise Manager Database : pour administrer une seule base de données.
• Enterprise Manager Grid Control : pour administrer simultanément plusieurs bases de données.
• SQL*Plus : est une interface de ligne de commande standard permettant de gérer la base de données.
• Recovery Manager (RMAN) est une solution Oracle complète pour les opérations de sauvegarde, de
restauration et de récupération de l'ensemble de la base de données ou de fichiers spécifiques

11
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. Ces outils de développement sont :

• Oracle Designer

• Oracle Developer

• SQL*Plus : une interface interactive permettant d'envoyer des


requêtes SQL et PL/SQL à la base de données.
12
Outils de développement d'Oracle

• 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.

• Oracle Reports (SQL*ReportWriter) : un outil permettant de réaliser des état

• Oracle Graphics : un outil de génération automatique de


graphiques dynamiques.

• Procedure Builder : un outil permettant de développer des procédures,


des fonctions et des packages.
13
Architecture
d’Oracle

EMSI-HONORIS 2021/2022 PR. HASNAE SAKHI/ORACLE


Base de données et instance

Un serveur de base de données Oracle se compose d'une base de données et une


instance de base de données
•Base de données
Une base de données est un ensemble de fichiers, situés sur le disque, qui
stockent des données.
•Instance de base de données
Se compose d’une mémoire SGA , et de processus d’arrière plan .

EMSI-HONORIS 2021/2022 PR. HASNAE SAKHI/ORACLE 15


Connexion à un serveur Oracle

Lorsque qu’un utilisateur est connecté à une machine sur laquelle reside un
serveur oracle , deux processus sont invoqués le prcessus utilisateur et le
processus serveur

Processus
utilisateur

Processus Serveur
serveur
PGA

EMSI-HONORIS 2021/2022 PR. HASNAE SAKHI/ORACLE 16


Architecture Oracle globale 11g

• L'architecture d'un serveur de base de données se base sur deux


composants:
• L’instance
• Stockage des base de donnees
• Elle comprend 3 principaux types de structure
• Structure memoire
• Structure de processus
• Structure de stockage
• Il y a 2 memoires principales:
• SGA (System Global Area)
• PGA (Program Global area)

EMSI-HONORIS 2021/2022 PR. HASNAE SAKHI/ORACLE 17


Architecture du serveur Oracle

Definition

Une instance Oracle est un ensemble de structures de mémoire (SGA - System Global
Area) et de processus en arrière-plan (background processes) qui fonctionnent
ensemble pour gérer et manipuler les données dans une base de données Oracle.

A chaque démarrage d'une instance, une zone de mémoire partagée appelée


mémoire SGA (System Global Area) est allouée et les processus en arrière-plan
sont lancés.

18
Architecture du serveur Oracle

• SGA (System Global Area) :

 La SGA est une zone de mémoire partagée qui stocke les données et les contrôles nécessaires au bon
fonctionnement de la base de données.
 Elle est composée de différents composants tels que le cache tampon (buffer cache),…
• Processus en Arrière-Plan (Background Processes) :

 Les processus en arrière-plan sont des processus qui s'exécutent en continu pour effectuer diverses
tâches de gestion et de maintenance de la base de données. (PMON , SMON, LGWR, DBWn)
 Permettent d’etablir la communication entre les sous memoires SGA et les fichiers physiques d’Oracle.

• Processus Serveur :
 Les processus serveur gèrent les connexions des utilisateurs et exécutent les requêtes.

 Il existe deux types principaux de processus serveur : les processus dédiés (dedicated server processes) et
les processus partagés (shared server processes).

19
Structure de la mémoire

La mémoire d'un système de gestion de base de données (SGBD) Oracle est divisée
en deux principales composantes: la SGA (System Global Area) et la PGA
(Program Global Area).

• La SGA (System Global Area)


• La SGA est une zone de mémoire partagée utilisée par tous les processus de
l'instance Oracle (les processus serveur et les processus en arrière- plan).
• Elle contient des informations globales nécessaires pour la gestion de la base
de données.

SGA (system global area)

20
Mémoire SGA

Les principaux composants de la SGA


• Buffer Cache (Le cache tampon)
• Shared Pool (zone de mémoire partagée)
• Redo Log Buffer (Tampon de journalisation)
• Large Pool (zone de mémoire large)
• Java Pool (zone de mémoire Java)
• Streams Pool (zone de mémoire Streams)

SGA (system global area)

21
Mémoire SGA

Shared Pool (zone de mémoire partagée)


• Elle permet de stocker :
 les dernières instructions SQL exécutées,
 les dernières définitions de données utilisées.
• Elle est constituée de deux structures mémoire clés liées aux
performances :
 Cache librairie
 Cache du dictionnaire de données

22
Mémoire SGA

Shared Pool (zone de mémoire partagée)

• Le cache "library" conserve des informations sur les dernières instructions SQL
et PL/SQL utilisées.
• Il permet le partage des instructions fréquemment utilisées.
• Il est géré par un algorithme LRU.
• Il est composé de deux structures :
 la zone SQL partagée,
 la zone PL/SQL partagée.
• Sa taille dépend du dimensionnement de la zone de mémoire partagée.

23
Mémoire SGA

Shared Pool (zone de mémoire partagée)


• Le cache du dictionnaire de données contient les dernières définitions utilisées
dans la base.
• Il contient des informations sur les fichiers, les tables, les index, les colonnes,
les utilisateurs, les privilèges et d'autres objets de la base de données.
• Au cours de l'analyse, le processus serveur recherche les informations dans le
cache du dictionnaire pour résoudre les noms d'objet et valider l'accès.
• La mise en mémoire cache des informations du dictionnaire de données réduit
le temps de réponse aux interrogations et aux instructions LMD.

24
Mémoire SGA

Buffer Cache (Le cache tampon)


• Ce cache conserve des copies des blocs de
données extraits des fichiers de données.
• Il permet des gains de performances considérables
lors de l'obtention et de la mise à jour de données.
• Il est géré par un algorithme LRU.
• Le paramètre DB_BLOCK_SIZE détermine la taille
du bloc principal.

25
Mémoire SGA

Buffer Cache (Le cache tampon)

• Keep Buffer Pool (db_keep_cache_size)


Conservation des blocs en mémoire meme après leur utilisation

• Recycle Buffer Pool (db_recycle_cache_size)


• Bloc disponible immédiatement après leur utilisation

• Write Queue (File d'Attente d'Écriture)


Contient les blocs qui ont été modifiés en mémoire et qui attendent d'être écrits sur le
disque. Ces écritures peuvent être différées pour optimiser les performances en
regroupant les opérations d'écriture.

Show parameter db_cache_size

26
Mémoire SGA

Redo Log Buffer (Tampon de journalisation)

• Il enregistre toutes les modifications apportées aux blocs de données


de la base.
• Sa principale fonction est la récupération de données.
• Les modifications enregistrées constituent des entrées de
journalisation.
• Les entrées de journalisation contiennent des informations permettant
de reconstruire des modifications
27
Mémoire SGA

Zone de mémoire Java


◦ La zone de mémoire Java répond aux besoins d'analyse des commandes Java.
◦ Elle est nécessaire si Java est installé et utilisé.

Zone de mémoire LARGE POOL


o Elle réduit la charge de la zone de mémoire partagée.

28
Structure de la mémoire PGA

• la PGA (Program Global Area).

• La PGA est une zone de mémoire privée allouée à chaque processus serveur

PGA PGA

User User
Stack Stack
Global Global
space space
Area Area
Server Server
process process
1 2

• Il s'agit d'une mémoire non partagée qui est créée par Oracle Database au
démarrage d'un processus serveur

• Chaque session utilisateur et chaque processus serveur ont leur propre PGA.

29
Structure de la mémoire PGA

• la PGA (Program Global Area).

PGA
• Mémoire réservée à chaque processus
User
Stack
Global
utilisateur qui se connecte à une base space
Area
Server
process
de données Oracle. 1

• Elle est allouée lorsqu'un processus est créé.


• Elle est libérée à la fin du processus.
• Elle n'est utilisée que par un processus.

30
Structure des processus

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)


• Application ou outil qui se connecte à la base de données Oracle (SQL*plus, SQL Developer, JDBC … ).

• Les processus systèmes (oracle process).

• Les processus serveurs (process server) gérant les requêtes des utilisateurs. Se connecte à
l'instance Oracle et démarre lorsqu'un utilisateur ouvre une session

• Les processus d'arrière-plan (background process) chargés d'assurer le fonctionnement interne du


SGBD Oracle (gestion de la mémoire, écriture dans les fichiers, ...). Ils démarrent en même temps
qu'une instanceOracle.

31
Structure des processus

Les processus serveurs: Listener Process

• Listener Processes (processus d'écoute réseau) représente le pont (gateway) pour


accéder à la base de données oracle

• Il s'agit d'un processus qui fonctionne en arrière-plan et qui est chargé d'écouter les
demandes de connexion provenant d'autres ordinateurs (clients) et de diriger ces
connexions vers le processus approprié de la base de données Oracle

32
Le processus DBWn (Obligatoire)

Buffer Cache Shared Pool Buffer redo log


Java pool
Library cache
Large
Dictionnary cache pool

PMON DBWn LGWR CKPT SMON ARCn

Nombre de processus : DB_WRITER_PROCESSES Fichiers


Fichier
de journaux
contrôle archivés
PGA Processus
01010101010101
0101 0101010101
0101 0101010010
10 10101001

serveur 01010101
Fichiers 010101010101010
101010101010101
01 010101
01 010101
010101010010101

Fichiers de Redo Log 0101001 01010101


01010101
010100

données

33
Processus DBWn (Database Writer)

• Il est responsable de l'écriture des blocs de données modifiés (dirty) de la mémoire cache (buffer cache) de la
base de données vers les fichiers de données sur le disque.

• Chaque instance Oracle peut avoir plusieurs processus DBWn fonctionnant simultanément, chacun associé à
un ensemble spécifique de fichiers de données.

 Fréquence d’écriture du DBW

 Toutes les trois secondes


 Dès que la Dirty List (liste des blocs modifiés) dépasse un seuil prédéfini

 Chaque fois qu’un processus consulte la liste LRU (last recently used) et ne trouve pas un emplacement
libre après un nombre prédéterminé de recherche de bloc
 Lors de chaque Checkpoint (CKPT)

 Chaque fois qu’une base est arrêtée normalement

 Chaque fois qu’un tablespace est mis en mode OFFLINE ou READ ONLY ou s’il fait partie d’une sauvegarde en
ligne
34
Le processus LGWR (obligatoire)

INSTANCE
SGA
Buffer Cache Shared Pool Buffer redo log
Java pool
Library cache

Large
Dictionnary cache pool

PMON DBWn LGWR CKPT SMON ARCn

Fichiers journaux
Fichiers archivés
Redo Log
PGA Fichier
01010101010101
0101 0101010101

Processus
0101 0101010010
10 10101001

de
serveur
01010101010101

contrôle 010101010101010101010101
010101010101010010101010
1001
0101 0101010101
0101 0101010010
10 10101001

01010101010101
01010101010101
01010101010010
1010101001

35
Le processus LGWR (obligatoire)

• Chargé de gérer la mémoire tampon de journalisation (redo log buffer) en écrivant ses entrées
dans un fichier de journalisation sur le disque (redo log files).

• Le tampon de journalisation est réutilisable. Une fois que le processus LGWR a écrit son contenu
dans un fichier de journalisation sur le disque, il peut recevoir de nouvelles données provenant des
processus serveur

• LGWR effectue une opération d'écriture :


1. Quand un processus utilisateur valide une transaction.
2. Quand un tiers du tampon de journalisation est plein.
3. Avant qu'un processus DBWn écrive des tampons modifiés sur le disque.
4. Toutes les 3 secondes.

36
Processus CKPT (Checkpoint)

INSTANCE
SGA
Buffer Cache Shared Pool Buffer redo log
Java pool
Library cache

Large
Dictionnary cache pool

PMON DBWn LGWR CKPT SMON ARCn

Fichiers journaux
Fichiers archivés
Redo Log
PGA 01010101010101
0101 0101010101
0101 0101010010

Processus
10 10101001

Fichier
01010101010101

serveur de 010101010101010101010101
010101010101010010101010
1001
0101 0101010101
0101 0101010010

contrôle
10 10101001

Fichiers de
01010101010101
01010101010101
01010101010010
1010101001

données

37
Processus CKPT (Checkpoint)

Ce processus est chargé :


• de signaler DBWn aux points de reprise,
• de mettre à jour les en-têtes de fichiers de données avec les informations sur le
point de reprise,
• de mettre à jour les fichiers de contrôle avec les informations sur le point de reprise.

Fréquence d’écriture du CKPT

 Lors d’un basculement des fichiers journaux

 Manuellement : ALTER SYSTEM CHECKPOINT


24

 Lors d’un arrêt propre de l’instance Oracle

38
Le processus PMON (obligatoire)

INSTANCE
SGA
Buffer Cache Shared Pool Buffer redo log
Java pool
Library cache

Large
Dictionnary cache pool

PMON DBWn LGWR CKPT SMON ARCn

Fichiers de
données Fichier
de
contrôle
PGA Fichiers 01010101010101
0101 0101010101

Processus
0101 0101010010

journaux
10 10101001

serveur
01010101010101

Fichiers archivés
010101010101010101010101 0101 0101010101
010101010101010010101010 0101 0101010010
1001 10 10101001

Redo Log 01010101010101


01010101010101
01010101010010
1010101001

[Link]™©

39
Le processus PMON (obligatoire)

Son rôle principal est de gérer les processus serveur et d'assurer la cohérence et la fiabilité du
système en cas de défaillance.

Principales fonctions:

Suite à l'échec de processus, PMON exécute des opérations de nettoyage :


• Il annule la transaction (rollback)
• Il libère des verrous
• Il libère d'autres ressources qui étaient éxploitées par les utilisateurs

40
Processus ARCn (Archiver)

INSTANCE
SGA
Buffer Cache Shared Pool Buffer redo log
Java pool
Library cache

Large
Dictionnary cache pool

PMON DBWn LGWR CKPT SMON ARCn

Fichier
de
contrôle
PGA Processus
01010101010101
0101 0101010101

Fichiers 0101 0101010010


10 10101001

serveur journaux 01010101010101

Fichiers
010101010101010101010101 0101 0101010101
010101010101010010101010 0101 0101010010

archivés
1001 10 10101001

Fichiers de Redo Log 01010101010101


01010101010101
01010101010010
1010101001

données

Oracle Database : 11g DBA 1 (1Z0-052) [Link]™©

41
Processus ARCn (Archiver)

• Processus d'arrière-plan facultatif

• Archivage des fichiers de journalisation (redo log files) pleins.

• Copie les fichiers de journalisation dans les disques.

• Peut collecter des données de journalisation sur les transactions et les transmettre
à des destinations de secours.

42
Le processus SMON (obligatoire)

INSTANCE
SGA
Buffer Cache Shared Pool Buffer redo log
Java pool
Library cache

Large
Dictionnary cache pool

PMON DBWn LGWR CKPT SMON ARCn

Fichiers de
données Fichier
de Fichiers
PGA contrôle
01010101010101
0101 0101010101

Processus journaux
0101 0101010010
10 10101001

serveur archivés 01010101010101


0101 0101010101
0101 0101010010
10 10101001

Fichiers
010101010101010101010101
010101010101010010101010
1001
01010101010101

Redo Log
01010101010101
01010101010010
1010101001

43
Processus SMON

• Il est nécessaire au démarrage de l’instance Oracle


• Il écrit des données dans les fichiers de données qui ont été validées au niveau
des fichiers de journalisation
• Il s'assure que les modifications non validées sont annulées pour garantir la
cohérence des données.
• Il est chargé de nettoyer ces enregistrements inutilisés.
• Libérer l'espace inutilisé dans les fichiers de données. Cela contribue à optimiser
l'espace de stockage.

44
Présentation des principaux composants

Instance
Processus
utilisateur Zone de mémoire Mémoire SGA
partagée

Cache Cache de
tampons de Tampon de
"library" journalisation
la base
Cache du de données
Processus
serveur dictionnaire Zone de mémoire
Zone de
de données mémoire Java LARGE POOL
PGA

PMON SMON DBWR LGWR CKPT Autres

Fichiers de Fichiers de Fichiers de


données contrôle journali- Fichiers de
Fichier de
sation Journalisation
paramètres
archivés
Fichier
de mots
de passe
Base de données

Vous aimerez peut-être aussi