0% ont trouvé ce document utile (0 vote)
31 vues21 pages

Chapitre 0 Intro

bdd

Transféré par

abderahmen tassadit
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)
31 vues21 pages

Chapitre 0 Intro

bdd

Transféré par

abderahmen tassadit
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

22/04/2023

Administration &
Tuning des Bases
de données
Dr FERRAHI

0
Introduction

1
22/04/2023

Plan

Présentation générale des BD et SGBD : Rappels


❑Généralités
▪ Définitions, historique des SGBD, des BD
❑Le SGDB
▪ Niveaux de description et Architecture des SGBD
▪ Objectifs et fonctionnalités d’un SGBD
❑Le SGBD ORACLE
▪ Architecture générale, description, fonctions ..
3

Définition d’une bases de données

▰ Collection de données cohérentes et structurées (données persistantes) utilisées par des


systèmes informatiques.

▰ Collection de données fortement structurées et persistantes dont la structure est définie dans un
schéma au moyen d’un langage de définition de données.

▰ Les données et le schéma sont gérés à l’aide d’un logiciel appelé système de gestion de bases de
données (SGBD).

2
22/04/2023

Définition d’un SGBDS

Un SGBD: système de gestion de base de données


▰ Un ensemble de logiciels informatiques qui sert à la manipulation des bases de données.

▰ Il sert à effectuer des opérations ordinaires telles que consulter, modifier, construire, organiser,
transformer, copier, sauvegarder ou restaurer des bases de données. Il est souvent utilisé par
d'autres logiciels ainsi que les administrateurs ou les développeurs.

▰ L’ensemble, dont le composant central est le moteur de base de données, peut être sous forme
de composants logiciels, de serveurs, de logiciels applicatifs ou d’environnement de
programmations.

▰ Il permet généralement à plusieurs utilisateurs et plusieurs logiciels de manipuler plusieurs


bases de données en même temps quelque soit le contenu et l’organisation des BDs 5

Rôle d’un administrateur

Garantir un fonctionnement optimal de la base ▰ définir les stratégies de sauvegarde (sauvegarde,


(maintenance) restauration, archivage)
▰ installer le SGBD ▻ gérer les accès aux données
▻ serveur, clients, outils d’applications ▰ maintenir de bonnes performances (ou les
▰ créer la base et la faire évoluer améliorer)

▻ définir les organisations logique et physique de


▰ permettre l’échange de données Base <-> Extérieur
stockage ▻ Export/import, SQLloader
▻ définir les ressources de mémorisation des
données
▰ enregistrer et gérer les utilisateurs
▻ créer les rôles, profils utilisateurs
▻ affecter les rôles appropriés aux utilisateurs
▻ assurer la sécurité et la cohérence des
données 6

3
22/04/2023

Historique des SGBDs

▰ Premiers SGBD créés dans les années 1960

▰ Technologie répandue dès les années 1970

▰ Le consortium CODASYL a été formé dans les années 1960 en vue de produire des normes
et standards en rapport avec les SGBD.

▰ Le consortium CODASYL est à l'origine de diverses normes en rapport avec le langage de


programmation COBOL, un langage créé en 1965, axé sur la manipulation des bases de
données.

▰ Le modèle de données relationnel a été créé en 1970.


7

Historique des SGBDs

▰ Les premiers SGBD qui manipulent des bases de données relationnelles — IBM System R et Oracle V2 — sont
apparus en 1978.
▰ 1981 : Informix
▰ 1983 : Oracle V3
▰ 1987 : SyBase SQL Server
Actuellement Oracle Database 21c
▰ 1989 : PostGres
▰ 1992 : MS Access
▰ 1999 : Oracle 8i
▰ 2000 : SQL Server 2000
▰ 2005 : Oracle 10g R2, SQL Server 2005
▰ 2006 : IBM DB2
Pour plus de détail sur tout l’historique des SGBD, voir le lien suivant :
[Link] 8

4
22/04/2023

Génération des SGBDs

▰ 1ère génération (années 70): réseau, hiérarchique (CODASYL, IMS,...)


▻ LMD navigationnel
▰ 2ième génération (années 80): relationnel (Oracle, Ingres, DB2, SQL server,…)
▻ LMD non procédural
▰ 3ième génération (années 90)
▻ Objet (Object Store, Versant,…)
▻ Relationnel objet (Oracle8, DB2 UDS, Informix US)
▰ 4ième génération ?
▻ Déductif (« Datalog »), entrepôt de données, data mining, support du WEB (XML, XMLQL

Niveaux de description des données


Stockage physique
Description de l’organisation
physique des données
Domaine de
Schéma interne
l’administrateur de
la base de données

Description de l’univers à modéliser


Domaine des
avec éventuellement les contraintes
concepteurs de Schéma conceptuel
liées à ces objets (contraintes
BD
d’intégrité)

Domaine des Application accédant aux


créateurs Schéma Schéma Schéma
Externe 1 Externe 2 Externe 3
données : notion de vue
d’applications (accès limités)
10

5
22/04/2023

Architecture Fonctionnelle générale d’un SGBD


INTERFACE UTILISATEUR

ANALYSE DE REQUÊTES Mémoire centrale

Analyse Optimisation
Syntaxique Dictionnaire de données

Transactions Buffer SQL


Verrous exécution

Gestion de la mémoire Buffer données


(Mémoire cache)

BD
Mémoire secondaire
11

Fonctionnalités d’un SGBD


▰ Interface : Rôle : Interpréteur de requêtes
▰ Analyseur de requêtes : Rôle :

▻ Génération de l’arbre algébrique

▻ Optimisation de la requête : génération de l’arbre optimisé

▻ Génération du plan d’exécution


▰ Gestionnaire de transactions : une transaction est l’unité d’exécution d’une requête: elle a la forme

▻ Début transaction

▻ Demande de verrous

▻ Lecture/ ecriture

▻ Fin transaction
Rôle : piloter l’exécution d’une requête
▰ Gestion de la mémoire : Le SGBD gère un espace de stockage suivant deux aspects :

▻ Mémoire centrale : Buffer de données reçoit les données transférées de la MS et le Buffer SQL qui contient le plan
d’exécution de la requête
▻ Mémoire secondaire qui contient les tables de données stockées suivant des organisations de stockage
12

6
22/04/2023

Objectifs des SGBD

▰ Indépendance des données par rapport aux supports physiques


▻ Notion de relation qui définit la structure de données
▻ La structure d’implémentation d’une relation est la table sur laquelle seront définis des
chemins d’accès.

▰ Indépendance logique
▻ Le SGBD doit autoriser plusieurs visions d’utilisateurs sur la base
▻ Possible grâce à la notion de vues

13

Objectifs des SGBD

▰ Evolution de la BD
▻ Evolution des données
▻ Insertion
▻ Suppression
▻ Modification
▻ Evolution du schéma : Modification de la structure d’une relation
▻ Ajout, suppression d’attributs
▻ Ajout d’une nouvelle relation.
▰ Cohérence de données
▻ Intégrité des données
▻ Les données d’une base de données doivent vérifier des invariants appelés contraintes
d’intégrité. 14

7
22/04/2023

Objectifs des SGBD

Partageabilité des données et sécurité de fonctionnement


▰ Possibilité d’autoriser plusieurs utilisateurs à accéder en même temps à la base de données
▰ Gestion des conflits d’accès et d’écriture.
▰ Sécurité de la BD
▻ Gestion des utilisateurs
▻ Gestion des droits d’accès
▻ Gestion des transactions
▰ Intégrité de la BD
▻ Protection contre les pannes
▻ Reprise après panne
▻ Gestion des journaux log
15

Principales architectures des BDs

▰ Architecture centralisée
▻ Programme d'application et SGBD sur même machine (même site)
▻ Premiers systèmes

▰ Architecture du type client-serveur


▻ Programme d'application = client
▻ Interface (IHM) + traitement du domaine d’application

▰ SGBD = serveur de données


▻ machines (sites) différentes
16

8
22/04/2023

Architecture Client-Serveur

17

Architecture à trois tiers

18

9
22/04/2023

Bases de données réparties

▰ SGBD réparti
▻ Répartition des données de manière transparente
▻ Objet

19

Bases de données parallèles

▰ Parallélisme à l'intérieur d'un site

20

10
22/04/2023

Entrepôt de données

21

Architecture interne d’un SGBD


Administrateur Utilisateur Applications

Requêtes DDL Requêtes Programme


interactives
Compilateur du
Pré-compilateur
langage de prog

Compilateur de Commandes DML


Compilateur DDL
requêtes

Compilateur DML Transaction


compilé
Méta-base

Gestionnaire
des données Processeur BD

Module de contrôle des accès concurrents

BD Module de restauration er de recouvrement 22

11
22/04/2023

Architecture d’un SGBD

▰ Gestionnaire de données
▻ La base de données ainsi que la méta-base sont stockées en mémoire secondaires. L’accès
à leurs données est assuré par le gestionnaire de données.
▻ L’accès est d’abord contrôlé par le système de gestion de fichier, le gestionnaire de
données est un module de plus haut niveau assurant l’accès aux données via un ensemble
de buffers.

▰ Méta-base
▻ Contient toutes les informations sur les données comme la structure des tables, les types
de données, les index crées, etc.

23

Architecture d’un SGBD

▰ Compilateur DDL
▻ Compile et exécute le schéma de définition de données et sauvegarde les descriptions dans
la méta-base.

▰ Compilateur DML
▻ Compile et exécute les requêtes de manipulation de données.

▰ Compilateur de requêtes
▻ Traite les requêtes utilisateurs saisies de manière interactive. Il parse, analyse puis compile
ces requêtes.

24

12
22/04/2023

Architecture d’un SGBD

▰ Processeur de base de données


▻ Contrôle l’accès à la base de données. Il reçoit des ordres de recherche ou de mise à jour et
les exécute sur la base de données. L’accès aux données est assuré par le gestionnaire de
données.

▰ Pré-compilateur
▻ Permet d’extraire les commandes DML pour une compilation en code objet. Le reste du
code est envoyé au compilateur du langage de programmation, ensuite les deux codes
objets sont fusionnés pour générer des transactions qui seront à leur tour envoyée au
processeur de BD

25

SGBD ORACLE

▰ Un système de gestion de base de données relationnel (SGBDR) qui depuis l'introduction du


support du modèle objet dans sa version 8 peut être aussi qualifié de système de gestion
de base de données relationnel-objet (SGBDRO).

▰ Fourni par Oracle Corporation, il a été développé par Larry Ellison, accompagné d'autres
personnes telles que Bob Miner et Ed Oates.

▰ ORACLE a été édité par la société Oracle Corporation, implantée aux USA à RedWood
Shores en Californie.

▰ Depuis, les produits ORACLE n’ont cessé d’évoluer avec l’évolution des technologies de
l’information et de la communication. Aujourd’hui ORACLE est un SGBD réparti, qui s’est
tourné vers le Web. 26

13
22/04/2023

Architecture

Designer
Client

Developer Discoverer

SQL*Plus

PL/SQL SQL
Serveur

ORACLE SERVER

27

Architecture
▰ L’environnement ORACLE est un ensemble de produits autour de sa base de données
▰ ORACLE SERVER (gestionnaire de bases de données)
▻ Contrôle toutes les actions de la BD comme l’accès et la sécurité, stockage et intégrité des données
▰ SQL et l’extension PL/SQL (langage comprenant des commandes procédurales supportant la gestion des erreurs et
déclaration de variables). SQL*Plus est un outil permettant la mise en forme de résultats de requêtes SQL.

▰ ORACLE Designer
▻ Ensemble de produits intégrés dans un référentiel unique d’entreprise pour la conception des applications

▰ ORACLE Developer
▻ Outils de développement d’applications client/serveur ou Internet (Forms, Reports, Jdeveloper).

▰ ORACLE Discoverer
▻ Outil d’interrogation pour des utilisateurs qui ont besoin d’accéder par eux-mêmes aux données, Datawarehouse,
Datamart (Discoverer Administrator, Discoverer Catalog, etc.). 28

14
22/04/2023

System Global Area

▰ Les composants principaux de l’architecture d’ORACLE sont


Background Process
▻ Les processus
spmo
▻ Les structures mémoires n
▻ Les fichiers Structures mémoires : SGA

Shared Pool DB Buffer Redo Log


Cache Buffer

Processus
Processus
utilisateurs
Serveur

Fichiers
de
Fichiers de Fichiers Redo Log
contrôle
données
29

System Global Area

▰ Représente l’ensemble des buffers nécessaires à la gestion des transactions.


▻ La SGA est également appelée Shared Global Area, elle est partagée entre plusieurs utilisateurs.
▻ La SGA est une zone mémoire allouée au démarrage d’une instance, elle est restituée à la fermeture de cette
instance.
▻ Les données de la SGA sont partagées par l’ensemble des utilisateurs connectés à un moment donné ; elles
sont divisées en plusieurs types de buffers :

▰ Database Buffer Cache


▻ Contient les blocs de données, les blocs d’index, des blocs contenant les RollBack Segments (ils enregistrent
les actions d’une transaction pour la reprise en cas de panne) et des blocs pour la gestion du système, les
plus récemment utilisés; il peut contenir des données modifiées qui n’ont pas encore été enregistrées sur
disque.

30

15
22/04/2023

System Global Area

▰ Redo Log Buffer


▻ Contient les redo entries, ensemble des modifications réalisées sur la base ; ces redo entries sont
mémorisées sur un fichier redo log, qui pourra être utilisé en cas de panne.

▰ Shared Pool ou zone de partage des ordres SQL


▻ Utilisé pour mémoriser, analyser et traiter les ordres SQL soumis par les utilisateurs. Elle peut
réutiliser les ordres SQL déjà exécutés.

31

Les process

▰ Les Oracle Process sont divisés en trois catégories


▻ Users Process : processus utilisateurs
▻ Server Process : processus serveurs
▻ Backgrounds Process. Processus d’arrière plan ou détachés
▻ Les Background Process (Process détachés) prennent en charge les mécanismes internes
d’Oracle. Une instance Oracle contient au minimum quatre background process : DBWR, LGWR,
SMON et PMON.

32

16
22/04/2023

Background process

▰ DBWR (DataBase Writer) : Son rôle est de mettre à jour les fichiers de données. Les blocs de données
modifiés en SGA sont stockés dans la base de données: écriture des données physiques

▰ LGWR (LoG Writer) : Ce process écrit séquentiellement dans le fichier Redo Log courant des enregistrements
Redo Log de la SGA.

▰ SMON (System MONitor) : Il vérifie si la base a été arrêtée proprement. Si ce n’est pas le cas, il récupère dans
les fichiers redo log les enregistrements validés, qui n’ont pas encore été écrits dans la base par Oracle, pour
les insérer = (reprise, nettoyage, compactage)

▰ PMON (Process MONitor) : Il administre les différents process d’Oracle comme la Reprise en cas d’échec,
libération des ressources occupées, par exemple dans le cas où un client éteint sa machine sans se
déconnecter,
33

Background Process

▰ CKPT : Checkpoint: informe de l’arrivée d’un point de contrôle


▰ ARCH : Archiver : archivage du journal
▰ RECO : Recover : résout les transactions en suspens du fait de problèmes système ou réseau
▰ LCKn : LOCK : verrouillage inter-instances de la BD
▰ SNPn : Snapshot Refresh: rafraichissement des vues matérialisées après les modifications de données
▰ Snnn : Shared server: pour gérer plusieurs utilisateurs
▰ Dnnn : Dispatcher: répartiteur de sessions utilisateurs (utilisation de file d’attente)
▰ Pnnn : Parallel Query : permet l’exécution parallèle de certaines requêtes

34

17
22/04/2023

Process utilisateur

▰ Un process utilisateur est démarré lorsqu’un utilisateur exécute un programme applicatif.


▻ Exécute l’outil ou l’application
▻ Exemple : SQL*plus, Forms,
▻ Considéré comme étant le client.
▻ Il transmet le SQL au process serveur et en reçoit les résultats.

35

Process serveur

▰ Prennent en charge les demandes des utilisateurs. Ils sont responsables de la


communication entre la SGA et le Process User.
▰ Les tâches du process serveur
▻ Analyser et exécuter les commandes SQL
▻ Lire les blocs de données à partir du disque dans les zones partagées de la
SGA
▻ Renvoyer les résultats des commandes SQL au Process utilisateur

36

18
22/04/2023

Instance ORACLE

▰ C’est la combinaison de la SGA et des bakground process de la base de données. Quand une instance est
démarrée, les zones mémoire de la SGA sont allouées et les bakground process sont lancés.
▻ Ne pas confondre une BD ORACLE et une instance d’ORACLE : l’instance est d’abord démarrée puis elle
monte la BD (ouverture des fichiers).
▰ Les process serveurs et utilisateurs ne font pas partie de l’instance d’ORACLE.
▰ MÉCANISME
▻ Lorsqu’un utilisateur demande une donnée, son processus va la chercher en SGA, si elle n’y est pas, le
processus va la chercher dans les fichiers de données.
▻ Toutes les transactions sont enregistrées dans les fichiers Redo Log, En cas de problème la reprise
après panne est assurée par le process SMON au démarrage d’une nouvelle instance.

37

BD Oracle

▰ La base de données ORACLE est composée de fichiers de données et de fichiers redo log tous étant
référencés dans un ou plusieurs fichiers de contrôle.

Structure physique Définition

Contiennent toutes les données de la base : les tables, index, procédures, fonctions,… ; ainsi que le dictionnaire de
Fichiers de données
données (créé lors de la création de la base de données).

Gardent des enregistrements de toutes les modifications effectuées sur la base de données dans un but de
Fichiers Redo Log
restauration

Conservent la définition des structures physiques et les états de la Base de données: nom de la base, nom et chemin
Fichiers de contrôle
d’accès des fichiers de données et Redo Log, date et heure de création de la base.

38

19
22/04/2023

Structure interne de la BD

▰ LES TABLESPACES
▻ Les données d’une base Oracle sont mémorisées dans une ou plusieurs unités logiques appelées
tablespaces et physiquement dans des fichiers associés à ces tablespaces.
▻ Chaque base contient obligatoirement un tablespace SYSTEM, celui-ci contient les tables du
dictionnaire de données, les procédures, les fonctions, les packages, les triggers et le rollback segment
SYSTEM.
▻ Les autres tablespaces contiennent les segments de la base de données (tables, index,…).
39

Structure interne

▰ Les ROLLBACK SEGMENTS


▻ Une base de données contient un ou plusieurs ROLLBACK SEGMENTS ;
▻ Un rollback segment enregistre les actions d’une transaction qui peuvent être annulées en cas
d’incident.
▻ Le rollback segment SYSTEM est créé lors de la création de la base dans le tablespace SYSTEM; il n’est
utilisé que pour les transactions portant sur les données du dictionnaire.
▻ Un ou plusieurs autres rollback segments doivent exister pour les transactions portant sur des données
utilisateur.

40

20
22/04/2023

Fonction d’un SGBD

▰ Création / Modification ▰ Chemins d’accès


▻ Création : CREATE TABLE ▻ Index : CREATE INDEX
▻ Modification : ALTER TABLE ▰ Catalogues
▻ Suppression : DROP TABLE, DELETE ▻ Informations sur toutes les objets de la Base
de Données
▻ Insertion : INSERT INTO
▰ Schémas externes
▻ Mise à Jour : UPDATE
▻ Les vues : CREATE VIEW
▻ Interrogation : SELECT

41

21

Vous aimerez peut-être aussi