Université Mohamed Boudiaf M’sila
Administration base de
données
Master 2 IDO
Année 2022/2023
Réalisé par Dr [Link]
1
Contenue
1. Rappel : Conception et optimisation de schéma relationnel
2. Le métier d’administration de base de données.
3. Composants de l'architecture d'Oracle.
4. Gestion d'une instance Oracle.
5. Administration physique des BDs: structures physiques de stockage,
structures logiques de stockage, tuning logique des BDs.
6. Gestion de la sécurité.
7. Sauvegarde et restauration.
8. Optimisation des requêtes: Sauvegarde et restauration
2
3. Composants de l'architecture d'Oracle
3
• Oracle
Système de gestion de bases de données relationnelles (SGBDR)
Système de gestion de bases de données relationnelles –Objet à
partir la version 8 en 1997 (SGBDRO)
4
• Bref historique d’Oracle
En 1988, Oracle met sur le marché son ERP - Oracle Financials basé sur la base de
données relationnelle Oracle.
En 1992, la version 7 d'Oracle supporte les contraintes d'intégrité, les procédures
stockées et les déclencheurs (triggers).
En 1995, acquisition d’un puissant moteur multidimensionnel, commercialisé sous
le nom d’Oracle Express.
En 1997, la version 8 introduit le développement orienté objet et les applications
multimédia.
En 1999, la version 8i est publiée dans le but d'affiner ses applications avec
Internet. La base de données comporte nativement une machine virtuelle Java.
En 2001, Oracle 9i En 2004, la version 10g est publiée.
En 2005, vers la fin novembre, une version complètement gratuite est publiée, la «
Oracle Database 10g Express Edition ».
Septembre 2009, sortie de Oracle 11g Release 2
5
• Bref historique d’Oracle
Le 27 Janvier 2010, l’achat de l’Oracle par Su Microsystems
pour 7.4 milliard de dollars
En 2013, sortie de Oracle 12c qui permet au entreprise d’heberger leurs bases de
données dans des clouds privés ou publiques.
En 2019, la dernière version Oracle 12c est sortie
6
• Les Editions d’Oracle:
Edition Entreprise: Comprend toutes les fonctionnalités du produits
Edition Standard: Limitation apportées aux fonctionnalités et sur le nombre de
processus (4 max)
Edition Standard One: Limitation apportées aux fonctionnalités et sur le nombre de
processus (2 max)
Edition Express: Depuis fins 2005 une version totalement gratuite, il s’agait d’une
version 10g Standard Edition One, fortement limitée
7
• Un serveur de bases de données Oracle est composé:
D’une instance = plusieurs processus et une zone de mémoire
D’une base de données
De plusieurs schémas, assimilés à des utilisateurs
Dans le cas de clusters de machines, Oracle peut associer plusieurs
instance à une même base de données.
8
• Connexion Oracle:
Un processus utilisateur est créé quand un utilisateur lance une application
cliente
Une connexion va être créée avec l’instance Oracle, l’utilisateur va ouvrir
une session
Un processus serveur va analyser et exécuter les requêtes, retourner les
données
Mode dédié: une processus serveur pour un processus client
Mode partagé : les clients partagent un groupe de processus serveurs
9
• Architecture générale de l’Oracle:
10
• Architecture générale de l’Oracle:
• Tablespace
Une base peut être décomposée en
tablespaces : partitions logiques
contenant un ou plusieurs fichiers.
Un fichier appartient à 1 et 1 seul
tablespace.
Un tablespace peut s'étendre soit par
ajout (on-line) d'un fichier, soit par auto-
extension DU fichier du tablespace.
Par défaut il existe toujours un tablespace
baptisé SYSTEM qui contient le
dictionnaire de données et le rollback
segment system.
11
• Architecture générale de l’Oracle:
Architecture physique
Architecture logique
12
• Architecture physique de l’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. 13
• Architecture physique de l’Oracle:
La SGA (Système Global Area)
Zone partagée par tous les utilisateurs de la base de données
Allouée au démarrage de l’instance en mémoire principale : doit être la
plus grosse possible.
Son but est d’économiser les E/S. Elle contient :
le cache de données (database buffer cache) :
le cache de reprise (redo log buffer) : log des changements récents
le cache d’exécution partagé (shared pool) pour les requêtes SQL et
PL/SQl. Il contient le dictionnaire de données en cache.
La PGA (Program Global Area)
Zone d’exécution des processus du serveur
Allouée au lancement de chaque processus utilisateur
14
• Architecture physique de l’Oracle:
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. On distingue 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
15
• Architecture physique de l’Oracle:
Les fichiers d'une base de données Oracle sont les suivants :
Les fichiers de données (dont l'extension est .dbf)
Les fichiers Redo Log (dont l'extension est .rdo ou .log)
Les fichiers de contrôle (dont l'extension est .ctl).
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
16
• Architecture physique de l’Oracle:
• Les fichiers de données
Ces fichiers contiennent l'ensemble des données de la base (les
tables, les vues, les procédures stockées, ...).
Il sont codés dans un format propriétaire. Seule les requêtes SQL
permettant un accès implicite à ces fichiers.
Les fichiers de données contiennent des informations de deux types :
Le dictionnaire de données et de travail
Les données des utilisateurs
La lecture de ces fichiers de données est faire à l'aide des processus
utilisateurs tandis que l'écriture est assuré par le processus DBWR
(Database Writer).
17
• Architecture physique de l’Oracle:
• Les fichiers Redo-log
Les fichiers Redo-log contiennent l'historique des modifications
apportées à la base de données Oracle. Ces fichiers de
journalisation enregistrent les modifications successives de la base
de données afin de pouvoir restaurer la base de données en cas de
défaillance d'un disque dur. Ainsi le cas échéant, la base de données
Oracle est à même de simuler l'ensemble des commandes n'ayant
pas été sauvegardées pour rétablir le contenu de la base de
données.
Au même titre que les fichiers de données, les fichiers Redo-log
sont dans un format propriétaire Oracle et l'écriture dans ces
fichiers est assurée par le processus LGWR (Log Writer).
18
• Architecture physique de l’Oracle:
• Les fichiers Redo-log
Oracle propose également un mode archivage permettant la
sauvegarde du fichier Redo-log avant sa réutilisation pour restaurer
la base. Si ce mode n'a pas été activé, le contenu du fichier Redo
Log est supprimé après utilisation.
Enfin ces fichiers peuvent être multiplexés afin de fournir un
maximum de sécurité.
19
• Architecture physique de l’Oracle:
• Les fichiers de contrôle
Ces fichiers permettent de stocker les informations sur l'état de la base
de données. Le fichier de contrôle contient les informations suivantes :
Nom de la base de données
Emplacement des fichiers de données
Date et heure de création de la base
L'emplacement des fichiers journaux (Redo-Log)
Les fichiers de contrôle sont eux-même repérés par le fichier
d'initialisation.
20
• Architecture physique de l’Oracle:
• Les processus
On distingue généralement deux types de processus :
les processus utilisateurs : 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.
les processus systèmes : Les 4 principaux processus systèmes sont :
Le processus DBWR
Le processus LGWR
Le processus SMON
Le processus PMON
21
• Architecture physique de l’Oracle:
• Les processus
• les processus systèmes
Le processus DBWR Le processus Database Writer (DBWR) s’occupe de
transférer les blocs de données modifiés (par requête SQL DELETE, INSERT ou
UPDATE) de la System Global Area (SGA) vers les fichiers de la base de données,
afin de sauvegarder de manière permanente les données de la base. Ainsi,
lorsqu'un ordre SQL modifie la base de données.
Le processus LGWR Le rôle du processus LGWR (Log Writer) est de mettre à jour
les fichiers journaux (Redo Log) dans la SGA et sur le disque. Ainsi ce processus
est chargé d'écrire le contenu du cache Redo Log de la SGA dans le fichier Redo
Log à chaque fois qu'un ordre COMMIT est réceptionné.
22
• Architecture physique de l’Oracle:
• Les processus
• les processus systèmes
Le processus SMON Le processus SMON (System Monitor) est chargé de vérifier
la cohérence du système et de la rétablir suite à un incident au démarrage de la
base suivant. Ainsi, si la base n'a pas été stoppée correctement, le processus
analyse les informations stockées dans les rollback segments (les rollback
segments sont les zones de stockage des opérations n'ayant pas encore été
validées) puis annule toutes les informations en attente mais pour lesquelles
aucune validation n'a été enregistrées.
Le processus PMON Le processus PMON (Process Monitor) a pour but de
récupérer les ressources associées à des défaillances de processus utilisateurs.
Ainsi il supprime les processus en erreur, il annule les transactions n'ayant pas
été validées (par exemple si un client est déconnecté brutalement lors de la
23
transaction); il libère les verrous.
• Architecture physique de l’Oracle:
• Les processus
• les processus systèmes
Les autre processus (systèmes) 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
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 (nnnn représente une suite de nombre entiers) : Ce processus est
permet de router les requêtes distants vers les autres serveurs (dans
24
l’architecture BD distribuée.
• Architecture physique de l’Oracle:
• Les processus
• les processus systèmes
Les autre processus (systèmes) Il existe également d'autres processus d'importance
secondaire :
Snnnn : Ce processus 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é.
25
• Architecture générale de l’Oracle:
Architecture physique
Architecture logique
26
• Architecture logique de l’Oracle:
Il existe plusieurs niveaux de structures logiques (accessibles à l’utilisateur par
requête SQL) allant du schema object (la structure la plus importante) au datablock
(la plus petite structure).
Par Schema objet on entend un moyen d'accès à la BD. On y trouve :
Les tables : Elles permettent directement d'accéder aux données .
Les vues : Ces éléments qui permettent de donner accès à un sous-ensemble
d'une table ou de plusieurs tables.
Les index : Ces éléments sont donc aussi des schéma objects. En quelques mots,
on peut dire qu'un index, similairement à l'index d'un ouvrage, permet à une
instance du serveur d'accéder plus rapidement à des éléments. Nous
reparlerons de cela plus en avant dans ce cours.
27
• Architecture logique de l’Oracle:
Les clusters : Ces schéma objects permettent aussi un accès plus rapide aux
données. ils permet de stocker dans un même bloc les données de 2 ou
plusieurs tables favorisant ainsi certains chemins d'accès (jointure physique).
Les liens : Ces schéma objects permettent d'accéder des données sur une DB
distante.
Les synonymes : Ils consistent en un nom de remplacement sur un autre
schema object.
Les procédures: une procédure est un ensemble d'ordres PL/SQL permettant de
réaliser une action sur des données. Les packages Un package est un ensemble
de procédures.
L'ensemble de tous les schéma objects pour un utilisateur est appelé user's
schema.
28
• Architecture logique de l’Oracle:
• Les différentes vues
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_xxx) 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_xxx) 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. 29
• Architecture logique de l’Oracle:
• Les différentes vues
Les vues DBA (dont le nom commence par DBA_xxx). Ces vues sont
réservées à l'administrateur de la base (DBA), afin de lui fournir des
informations sensibles sur tous les objets de la base de données.
Les vues V$ (dont le nom commence par V$_) sont des vues dynamiques
permettant d'avoir des informations sur l'état courant de l'instance de la
base de données de son démarrage à son arrêt. Elles permettent par
exemple de connaître les fichiers physiques actuellement utilisés par la
base (logs, rollback segments, ...).
30
• Architecture logique de l’Oracle:
• Liste des vues pour l’utilisateur
31
• Architecture logique de l’Oracle:
• Quelques vues DBA
32
• Architecture logique de l’Oracle:
• Quelques vues DBA
33