Vous êtes sur la page 1sur 35

Introduction au SGBDR

2/19/2022
Historique (1/3)
 Une base de données est une collection organisée de données structurées stockées
électroniquement dans un système informatique.
 Lorsque l'ordinateur a été inventé, il était principalement utilisé pour des recherches
scientifiques afin d'effectuer des calculs rapidement.
 Depuis que l'ordinateur a été adopté de plus en plus, les exigences ont également été
augmentées pour obliger l'ordinateur à stocker un plus grand volume de données pour
une récupération rapide.
 Avant l'invention du système de base de données, la structure de fichiers plats était
couramment utilisée pour stocker des données. Lorsque le nombre de lignes dans le
fichier plat augmente ( par exemple, un million de lignes), il devient ingérable. Exemple:
le fichier de valeurs séparées par des virgules (CSV) qui stocke les informations sur les
employés :
first name, last name, phone
John, Doe, (408)-245-2345
Jane, Doe, (503)-234-2355

2/19/2022
Historique (2/3)
 Dans les années 1970, le Dr Ted Codd, un
informaticien, a inventé le modèle relationnel
pour la gestion des bases de données.
 Le modèle relationnel traite de nombreux
problèmes causés par le modèle de fichier plat.
Selon son modèle, les données sont organisées
en entités et attributs, au lieu de tout combiner
dans une seule structure.
 Une entité est une personne, un lieu ou une
chose et les attributs décrivent la personne, le
lieu et la chose. Par exemple, on peut utiliser le
modèle relationnel pour organiser les
informations sur les employés dans une entité
d'employé avec les attributs : prénom, nom et
téléphone :
2/19/2022
Historique (3/3)
 Chaque employé peut avoir un ou plusieurs contacts, on peut créer une entité de contact
et relier l'entité d'employé à l'entité de contacts via une relation appelée « un à
plusieurs ».

2/19/2022
Présentation
 Le système de gestion de base de données relationnelle (ou SGBDR) est un logiciel
standard permettant de gérer les données relationnelles. Il propose les trois principales
fonctions suivantes :
la définition des données sous forme de relations ;
la manipulation des données par un langage déclaratif ;
l’administration des données.
 BD Oracle est l’un SGBDR le plus populaire du marché.
 D'autres produits SGBDR sont également disponibles à savoir:
Db2 d'IBM.
SQL Server de Microsoft (MS SQL Server)
MySQL: la base de données open source la plus populaire, également d'Oracle et son
cousin MariaDB open source.
PostgreSQL: la base de données open source la plus avancée.
2/19/2022
DBA et compétences nécessaires
 Un administrateur de base de données ou DBA (Data Base Administrator) est chargé de la
création, la maintenance, l’optimisation et la sécurité des bases de données d'une
organisation.
 Le poste exige une formation technique et une expertise dans le système de base de
données utilisé par l'organisation. Il doit également posséder certaines compétences telles
que :
 Être capable de résoudre des problèmes et avoir de bonnes capacités d'analyse
 Aptitudes à la communication, au travail d'équipe et à la négociation
 Connaissance des principaux langages de manipulation de données et des principes de conception des bases
de données
 La capacité de travailler dans des délais serrés sous pression
 Flexibilité et adaptabilité
 La volonté de se tenir au courant de l'évolution des nouvelles technologies
 Une compréhension de la législation en matière d'information, telle que la loi sur la protection des données
2/19/2022
Rôles d’un DBA (1/6)
1. Installation et maintenance
il apporte son aide lors de l'installation et la configuration d'une nouvelle base de
données.
il configure le matériel et déploie le système d'exploitation
Il installe le logiciel de base de données et le configure pour utilisation.
Il s’occupe également de la maintenance continue de la base de données en mettant à
jour les correctifs nécessaires.
Dans le cas de l’installation d’une nouvelle base de données, le DBA gère le transfert des
données du système existant vers la nouvelle plateforme.

2/19/2022
Rôles d’un DBA (2/6)
2. S'assurer que la base de données est opérationnelle en permanence
Les bases de données d'aujourd'hui peuvent être massives et contenir des types de
données non structurées telles que des images, des documents ou des fichiers son et
vidéo. La gestion d'une très grande base de données peut nécessiter des compétences de
plus haut niveau ainsi qu'une surveillance et des réglages supplémentaires pour
maintenir son efficacité.
L'optimisation proactive: une attitude qui consiste à prévoir la performance dans une
application dès le début, plutôt que d'attendre que des problèmes surviennent. Il faut
travailler en étroite collaboration avec les développeurs d'applications qui s'exécutent
dans la base de données pour s'assurer que les meilleures pratiques sont suivies afin
d'obtenir un bon rendement.

2/19/2022
Rôles d’un DBA (3/6)
3. Sauvegarde et restauration de bases de données
Les DBA créent des plans et des procédures de sauvegarde et de récupération et
s'assurent que les étapes nécessaires sont suivies.
Les sauvegardes sont un processus coûteux et long. Le DBA peut avoir à persuader la
direction de prendre les précautions nécessaires pour préserver les données.
Les DBA ou d'autres membres du personnel peuvent créer les sauvegardes, mais il
incombe à DBA de s'assurer que tout est fait dans les délais prévus.
En cas de panne ou de perte de données, le DBA utilisera les sauvegardes existantes pour
restaurer les informations perdues dans le système. L'administrateur de base de données
doit se préparer à toute éventualité, car différents types de défaillances peuvent
nécessiter des stratégies de restauration.

2/19/2022
Rôles d’un DBA (4/6)
4. Garantir la sécurité des données
Parce que les bases de données centralisent les données d’une entreprise, elles sont des
cibles attrayantes pour les hackers et même pour les employés curieux. Un DBA doit
connaître les faiblesses potentielles du logiciel de base de données et du système global
de l'entreprise et s'efforcer de minimiser les risques. Aucun système n'est totalement à
l'abri des attaques, mais la mise en œuvre des meilleures pratiques peut minimiser les
risques.
Les trois tâches de sécurité de base de données sont :
• authentification: création de comptes utilisateurs pour contrôler les connexions à la base
de données
• autorisation: la définition des permissions sur diverses parties de la base de données
• audit: le suivi de qui fait quoi avec la base de données.

2/19/2022
Rôles d’un DBA (5/6)
5. Planification des capacités
Le DBA doit connaître la taille actuelle de la base de données et sa vitesse de croissance
afin de pouvoir faire des prévisions sur les besoins futurs.
Si l'entreprise se développe rapidement et qu’il est nécessaire d’ajouter de nombreux
nouveaux utilisateurs, le DBA devra créer la capacité nécessaire pour faire face à la
charge de travail supplémentaire ou éventuellement envisager de changer de solution.

2/19/2022
Rôles d’un DBA (6/6)
6. Surveillance du rendement
La surveillance des bases de données pour les questions de rendement fait partie de la
maintenance continue du système qu'effectue un administrateur de bases de données.
Si une partie du système ralentit le traitement, le DBA peut avoir besoin de modifier la
configuration du logiciel ou d'ajouter une capacité matérielle supplémentaire.

2/19/2022
SGBDR Oracle

2/19/2022
Introduction à l’Oracle
 Oracle est un SGBDR existant depuis de nombreux années sur le marché.
 Multiplateforme, disponible sous Solaris (SUN), HP/UX (Hewlett Packard), Aix (IBM),
Windows, Linux, etc.
 Très utilisé dans le monde industriel.
 Dispose d’un grand nombre d’outils lui permettant désormais de supporter la
programmation en JAVA , …
 Actuellement, orienté cloud(12c, 18c, 19c, 21c), Oracle fournit de différentes options:
IaaS (infrastructure, serveur, OS, utilisateurs et on installe et crée la BD) et PaaS (Oracle
binaires et BD à créer)
 Téléchargeable sur le site officiel:
https://www.oracle.com/fr/database/technologies/oracle-database-software-
downloads.html

2/19/2022
Fonctionnalités d’Oracle
 Structure de données logique: pour stocker les données afin de pouvoir interagir avec la
base de données sans savoir où sont stockées les données physiquement.
 Partitionnement: permettant de diviser une grande table en différents éléments et de
stocker chaque élément sur des périphériques de stockage.
 Mise en cache de la mémoire: permettant de faire évoluer une très grande base de
données qui peut toujours fonctionner à grande vitesse.
 Dictionnaire de données: un ensemble de tables et de vues internes permettant
d'administrer plus efficacement la base de données Oracle.
 Sauvegarde et restauration: garantissant l'intégrité des données en cas de panne du
système, grâce à un outil puissant RMAN pour effectuer des sauvegardes de base de
données à froid, à chaud et incrémentielles et des récupérations ponctuelles.
 Clustering (ou RAC): permettant une haute disponibilité qui permet au système de
fonctionner sans interruption des services en cas de défaillance d'un ou plusieurs
serveurs d'un cluster.
2/19/2022
Editions de la BD Oracle (1/2)
 Oracle fournit trois éditions principales d'Oracle Databases comme suit :
 Enterprise Edition (EE): l'édition courante et coûteuse de la base de données Oracle:
Pas de nombre maximum de processeurs
Aucune limite de mémoire ou de taille de base de données
Incluez des fonctionnalités premium qui ne sont pas disponibles dans d'autres éditions.
 Edition standard (SE): une édition limitée de l'édition entreprise:
Limité à quatre processeurs ou moins
Aucune limite de mémoire ou de taille de base de données
Inclure de nombreuses fonctionnalités, mais pas autant que EE

2/19/2022
Editions de la BD Oracle (2/2)
 Expression Edition (XE): une version gratuite de la base de données Oracle disponible sur
les plates-formes Windows et GNU/Linux:
Limité à 2 processeurs
Limité au maximum 2 Go de RAM et dispose de 12 Go de données utilisateur.
Fonctionnalités très limitées

2/19/2022
Architecture de la BD Oracle

2/19/2022
Instance et base de données
 Une base de données Oracle est composée
d'une base de données et d'au moins une
instance.
 Une instance est l’ensemble des processus
en arrière-plan et des zones mémoire et la
base de données est un ensemble de
fichiers qui stockent des données.

2/19/2022
Base de données
 Une base de données Oracle est désigné par un nom, un paramètre DB_NAME.
 Le nom de la BD est attribué à la création de la BD et il n’est pas possible de le modifier.
 Sous Oracle, le nom de la BD peut être visualisé avec la commande SQL*Plus
SQL > SHOW PARAMETER DB_NAME

2/19/2022
BD et structure physique de stockage (1/2)
 La base de données est le conteneur physique de
données, stocke les données réelles dans des
fichiers:
Fichiers de données: contiennent toutes les
informations de la base dans un format spécifique
à Oracle. Les données de structures logiques de la
base de données telles que les tables et les index y
sont stockées physiquement.
Fichiers de contrôle: contenant des métadonnées.
Ces dernières décrivent la structure physique de la
base de données, y compris le nom de la base de
données et les emplacements des fichiers de
données.
Fichiers journaux (Redo log): deux fichiers de
journalisation en ligne ou plus, enregistrant toutes
les modifications successives apportées aux
données.

2/19/2022
BD et structure physique de stockage (2/2)
 Une base de données Oracle comprend d'autres
fichiers importants tels que:
Fichiers de paramètres: Lus au démarrage,
contient les paramètres de démarrage de la base
(mémoire à allouer) et d’autres valeurs.
Fichiers réseau,
Fichier de mot de passe: contient des infos
utilisées pour établir l’authenticité des utilisateurs
privilégiés de la base de données.
Fichiers de journalisation archivés: ce sont des
copies de fichiers journaux pour une sauvegarde
des fichiers journaux, utilisés pour la sauvegarde
et la récupération.

2/19/2022
BD et structure logique de stockage (1/3)
 Oracle DB utilise une structure logique
de stockage pour un contrôle précis de
l'utilisation de l'espace disque.
 Bloc de données: également appelés
blocs logiques, blocs Oracle ou pages,
correspond à un nombre d'octets sur le
disque. Oracle y stocke les données.
Les valeurs possibles: 2, 4, 8, 16 et 32
Ko. Par défaut 8Ko.
QSL> show parameter DB_BLOCK_SIZE

2/19/2022
BD et structure logique de stockage (2/3)
Extent: un ensemble de blocs de
données contigus, alloués en une seule
fois.
Segment: ensemble d’extents dédiés à
un même objet (table, index, …)

2/19/2022
BD et structure logique de stockage (3/3)
Tablespaces : unités de stockage logiques
de la BD qui sert de conteneur logique
pour un segment. Chaque tablespace est
constitué d'au moins un fichier de
données.

2/19/2022
Instance
 Une instance de base de données est une interface entre les applications clientes
(utilisateurs) et la base de données.
 Une instance Oracle est composée de trois parties principales : les zones mémoire SGA
(System Global Area), PGA (Program Global Area) et les processus d'arrière-plan.
 Le nom d’instance peut être modifié et est généralement identique à celui de la BD.
 Une instance correspond à une BD et à une seule. Par contre, plusieurs instance peuvent
accéder à une BD ( cas de RAC: Real Application Clusters)
 On accède à la BD via une instance.
 Les requêtes et les données transitent par le réseau Oracle (Oracle Net).
 Une instance Oracle est identifiée par le nom d’instance, un paramètre INSTANCE_NAME
SQL> SHOW PARAMETER INSTANCE_NAME

2/19/2022
Mémoire SGA
 un groupe de structures de mémoire
partagée qui contiennent des données
et des informations de contrôle pour
une instance de base de données.
 allouée au démarrage de l'instance et
libérée lors de son arrêt.
 contient le cache de données
(database buffer cache), le cache de
reprise (redo log buffer) ou journal des
changements récents, le cache
d’exécution partagé (shared pool) pour
les requêtes SQL et PL/SQl, le
dictionnaire de données en cache.
 disponible pour tous les processus.

2/19/2022
Mémoire PGA
 zone d’exécution des processus serveur
 une zone de mémoire privée allouée à
chaque session au démarrage de la
session et libérée à la fin de la session.

2/19/2022
Processus Oracle (1/4)
 Les processus Oracle (processus
système) sont classés en deux
catégories :
processus serveurs: gérant les requêtes
des utilisateurs provenant des connexion
à la base de données générées par des
outils tels que SQL*Plus. Il permet
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.
• processus d'arrière-plan: chargés
d'assurer le fonctionnement interne du
SGBD Oracle (gestion de la mémoire,
écriture dans les fichiers, ...).
2/19/2022
Processus Oracle (2/4)
 Les principaux processus systèmes sont :
PMON (Process Monitor): le processus obligatoire qui est chargé de récupérer les
processus utilisateurs défaillants, de nettoyer le cache de bloc de données ainsi que les
ressources (les verrous, …) afin de les mettre à disposition d’autres utilisateurs.
SMON (System Monitor): le processus de surveillance du système qui effectue une
opération de nettoyage au niveau du système. Il est essentiel au démarrage de l’instance
et a deux responsabilités principales, notamment la récupération automatique d'instance
en cas d'échec d'une instance (par exemple une panne de courant), et le nettoyage des
fichiers temporaires (ou/et les segments temporaires et inutilisés). Il efface également les
vieux processus et fusionne l’espace libre dans de plus grands blocs contigus.
LGWR (Log Writer): le processus d'écriture de journal qui est la clé de l'architecture de
récupération. Chaque modification apportée à la base de données est écrite dans un
fichier appelé journal de rétablissement (Redo log) à des fins de récupération.

2/19/2022
Processus Oracle (3/4)
DBWR (DataBase Writer ou Dirty Buffer Writer): chargé
d'écrire le contenu des buffers dans les fichiers de
données. Une instance Oracle possède de nombreux
rédacteurs de base de données DBW0, DBW1, DBW2, etc.
CKPT: le processus de point de contrôle. Lorsqu'un bloc
(les données sur disque ) est écrit dans le tampon (les
données en mémoire) et modifié, le tampon devient sale
et doit être écrit sur le disque. Le processus CKPT met à
jour les en-têtes de fichiers de contrôle et fichiers de
données avec des informations de point de contrôle et
signale l'écriture de tampons sales (bloc modifié en
mémoire) sur le disque.

2/19/2022
Processus Oracle (4/4)
 ARCn: le processus d'archivage qui copie le contenu des journaux redo pour archiver les
fichiers redo log. Il est activé uniquement si la BD fonctionne dans le mode ARCHIVELOG.
 MMON: le processus nécessaire pour l’autocontrôle et l’autoréglage de la BD. Il capture
régulièrement les statistiques du SGA et les transcrit dans le dictionnaire dans le
dictionnaire de données où elles peuvent être conservées indéfinement (8 jours par
défaut).
 MMAN: le gestionnaire de mémoire qui gère automatiquement le redimensionnement
automatique du SGA.
 Ces processus peuvent être visualisés avec la commande SQL*Plus
SQL> SELECT PNAME FROM V$PROCESS WHERE PNAME IS NOT NULL ORDER BY PNAME;

2/19/2022
Processus LISTENER
 C’est un autre processus qui s'exécute localement sur le serveur de base de données ou à
distance sur l'environnement Oracle RAC.

2/19/2022
Processus LISTENER: fonctionnement
 Il écoute les requêtes entrantes sur un port
réseau.
 A la réception d’une requête, il génère un
processus serveur dédié et la PGA correspondant
à la session et lui transmet la requête du client.
 Après l’avoir transmis, il a fini le traitement pour
cette session utilisateur et recommence à écouter
pour satisfaire les demandes de connexion
d’autres utilisateurs.
 Le fichier de paramétrage du LISTENER est
listener.ora (utile pour les serveurs en réseau) qui
liste les noms et les adresses de tous les processus
LISTENER sur la machine ainsi que les instances
qu’ils prennent en charge.

2/19/2022
Références
 Fabien De Marchi, Administration des bases de données sous Oracle, Université de Lyon
 https://www.oracletutorial.com/getting-started/what-is-oracle-database/
 https://www.oracle.com/fr/database/administrateur-base-de-donnees-dba.html

2/19/2022

Vous aimerez peut-être aussi