Architecture d Oracled. Richard CHBEIR Email : richard.chbeir@u-bourgogne.fr



Documents pareils
COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

Notion de base de données

3. La SGA ou System global Area

CHAPITRE 1 ARCHITECTURE

Oracle Maximum Availability Architecture

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

Introduction aux SGBDR

Version Description Date

Administration des bases de données relationnelles Part I

CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES

Cours Bases de données 2ème année IUT

//////////////////////////////////////////////////////////////////// Administration bases de données

Administration des Bases de Données Oracle

Chapitre III Architecture de Base de Données Oracle

Programme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers

Oracle : Administration

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes)

Création d'une nouvelle base de données

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Du 10 Fév. au 14 Mars 2014

et Groupe Eyrolles, 2006, ISBN :

Oracle 10g Administration +

Administration d'une base de données

Administration des bases de données sous Oracle. 10g. Fabien De Marchi, Jean-Marc Petit. Université de Lyon. November 22, /96

Administration de Base de Données Notes de cours

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

et Groupe Eyrolles, 2006, ISBN :


TP Administration Oracle

Auto-évaluation Oracle: cours de base

TP11 - Administration/Tuning

Cours Bases de données 2ème année IUT

RECOVERY MANAGER G. Mopolo-Moké prof. MBDS UNSA 2005/ 2006

Bases de données et sites WEB

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Département Informatique de l Institut Universitaire de Technologie de l Université Bordeaux 1 Bases de Données Oracle : administration (cours)

SQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio

Bases de données et sites WEB Licence d informatique LI345

Oracle 11g. Exploitation. Document Tellora Page 1/205. Auteur : Clotilde Attouche. Société TELLORA. Version 1.2. Du 6 Mai 2010

Gestion des utilisateurs et de leurs droits

TP Contraintes - Triggers

Bases de données avancées Introduction

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Filière Unix Windows Oracle

Groupe Eyrolles, 2006, ISBN :

INSIA SIGL Bases de données ARCHITECTURE ORACLE

Module n 2 CREER UNE BASE DE DONNEES 1Z0-001

SQL Server Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

Nœud Suisse du Projet International GBIF (Global Biodiversity Information Facility)

CATALOGUE FORMATION 2014

ORACLE 10g Découvrez les nouveautés. Jeudi 17 Mars Séminaire DELL/INTEL/ORACLE

Développement d une base de données relationnelle. Exploitation des statistiques de pêche au thon tropical

Mise en oeuvre TSM 6.1

BUFFER CACHE SHARED POOL LRU

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Présentation du module Base de données spatio-temporelles

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4D v11 SQL Release 5 (11.5) ADDENDUM

Les bases de l optimisation SQL avec DB2 for i

Description de SQL SERVER. historique

Plan Général. Administration Oracle 10G Partie I. Plan Général. Plan Général

Systèmesdegestionde. basesdedonnées

Addenda du Guide de l administrateur

Procédure serveur : gestion des environnements X3 et bases de données ORACLE

Session S12 Les bases de l optimisation SQL avec DB2 for i

SQL Serveur Programme de formation. France Belgique Suisse - Canada. Formez vos salariés pour optimiser la productivité de votre entreprise

Entraînement à l épreuve de QCM 40 mn

Secteur Tertiaire Informatique Filière étude - développement. Accueil. Apprentissage. Période en entreprise. Evaluation.

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

ADMINISTRATION D'UNE BASE DE DONNEES

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Oracle Database 11g: Administration Workshop I Release 2

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

CHAPITRE 4 POLITIQUES DE CONTRÔLES DES ACCÈS SOUS ORACLE ADMINISTRATION ET TUNING DE BASES DE DONNÉES 10/05/2015 RESPONSABLE DR K.

Oracle 11g - Dataguard

Administration Centrale : Opérations

Le Langage De Description De Données(LDD)

AVEC LIVE TRADER, VISEZ PLUS HAUT POUR VOS INVESTISSEMENTS

Chapitre 10. Architectures des systèmes de gestion de bases de données

420-PK6-SL Banques de données Avancées UTILISATEURS

Bases de Données Avancées

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Symantec Backup Exec Remote Media Agent for Linux Servers

Architectures haute disponibilité avec MySQL. Olivier Olivier DASINI DASINI - -

ArcGIS 10.1 for Server

TP Bases de données réparties

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

ANTIDOTE 8 INSTALLATION RÉSEAU WINDOWS

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Présentation de l'outil RMAN d'oracle

INSTALLATION Advantage Database Server

Manuel d utilisation de Gestion 6

Simple Database Monitoring - SDBM Guide de l'usager

<Insert Picture Here> Solaris pour la base de donnés Oracle

Qui est Sybase ianywhere?

Préconisations Techniques & Installation de Gestimum ERP

Encryptions, compression et partitionnement des données

User Manual Version 3.6 Manuel de l Utilisateur Version

Transcription:

Architecture d Oracled Richard CHBEIR Email : richard.chbeir@u-bourgogne.fr

Plan Architecture Structure Physique Composants Processus Traitement de requêtes Structure Logique

Architecture Un serveur Oracle est composé de 3 éléments Mémoire System Global Area ou SGA Disque Données, fichiers Redo, fichiers de contrôle, fichiers de paramètres, fichiers de mot de passe, etc. Processus Services d'arrière plan ou demons

Architecture SGA (System Global Area) Permet de contenir les structures d'une instance Oracle Contient les données et les informations de contrôle pour le serveur Oracle Est allouée de la mémoire virtuelle de l'ordinateur où réside le serveur Oracle

SGA (System Global Area) Buffer de données Shared Pool Area Buffer Redo log Large Pool (Optionnel) Zone mémoire réservée aux buffers de données, d index et de rollback segments. Espace paramétrable SQL area (parsing des requêtes) Library cache (exécutable PL/SQL) Dictionary cache (infos sur les méta-données) Zone mémoire qui enregistre l activité transactionnelle des utilisateurs. Utilisé pour la gestion des bases de données parallèles

Composants de SGA Buffer de données Est utilisé pour stocker les données en mémoire afin d'accélérer l'interrogation et/ou la modification Aucune modification est faite directement sur les données du disque Oracle lit les données suite à la demande d'un processus utilisateur et ensuite valide les modifications sur le disque Il utilise un algorithme nommé LRU (Least-Recently Used) pour déterminer les données à libérer du cache La taille de chacun des buffers (DB_BLOCK_BUFFERS) est égale à la taille d'un bloc de données (DB_BLOCK_SIZE)

Composants de SGA Buffer de données Buffer Redo Log Il stocke une information spéciale nommé Redo permettant à Oracle de reconstruire les modifications des données en cas de panne Bloc de données modifié Emplacement Nouvelle valeur L'information Redo est stockée dans le buffer Redo log à chaque modification de données effectuée par un utilisateur L'information Redo reste dans le buffer Redo log jusqu'à ce qu'oracle la stocke sur le disque Sa taille est définie par LOG_BUFFER

Composants de SGA Buffer de données Buffer Redo Log Shared Pool Permet de stocker plusieurs éléments cruciaux pour la gestion des données : Library cache : permet d'analyse l'ordre d'exécution d'une requête SQL et de définir un plan d'exécution. Si la même requête est ré-exécutée, le serveur n'analyse pas son ordre. Cela permet d'améliorer la performance des applications Dictionary (ou row) cache : utilisé pour le stockage des métadata dans la mémoire afin d'accélérer l'accès au dictionnaire et les mécanismes de contrôle (nom d'utilisateurs, privilèges, etc.).

Composants Disque

Composants Disque Les fichiers de données (DataFiles) Ils sont utilisés pour stocker le dictionnaire de données et les objets de la base de données. Ces fichiers sont souvent très volumineux. Les données dans le buffer de données et le dictionnaire cache sont récupérées de ces fichiers Une base de données contient au moins un fichier de données

Composants Disque Les fichiers Redo Logs Ils sont utilisés pour stocker les informations Redo sur le disque afin de garantir la reconstruction des données en cas de panne Une BDD Oracle requiert au moins 2 fichiers redo log 2 familles de redo log : 1- ONLINE pour la restauration face à une défaillance de l instance 2- OFFLINE pour une restauration dans le cas d une défaillance d un support de stockage.

Composants Disque Les fichiers de contrôle Ils sont utilisés pour définir la localisation des composants disque sur le serveur. La localisation de fichiers de données et les redo logs y apparaissent. Pour cette raison, ils sont modifiés à chaque ajout ou suppression des fichiers redo logs ou fichiers de données. Oracle lit les fichiers de contrôle au démarrage de la BDD. Une BDD requiert au moins un fichier de contrôle

Composants Disque Le fichier de paramètres Utilisé pour définir les caractéristiques d'une instance Oracle (taille SGA, Bloc Oracle, etc). C'est le fichier init.ora

Composants Disque Le fichier de mot de passe Il est utilisé pour établir l'authenticité des utilisateurs privilégiés de BDD Oracle. Sans ce fichier, la BDD est administrable avec n'importe quel outil de gestion (ex : SQL*Plus)

Les processus ORACLE Effectuent les fonctions nécessaires au traitement simultané de plusieurs requêtes utilisateurs, sans compromettre L'intégrité La performance du système

Les processus ORACLE 2 types de processus Processus utilisateur Processus sur le serveur oracle Processus Serveur Processus Background (Oracle.exe) Ces processus exploitent Program Global Area ou PGA

Les processus ORACLE Un utilisateur peut se connecter à Oracle Connexion directe au serveur L'utilisateur se connectant à un serveur Unix exécutant Oracle lance Server Manager Connexion à deux tiers (Client-serveur) L'utilisateur se connectant à une machine Windows XP exécute Developper/2000 Connexion à trois tiers L'utilisateur lançant un explorateur réseaux sous Windows exécute une application sur un autre poste qui extrait les données sur un serveur Oracle

Les processus ORACLE Processus utilisateur (ou client) Il fonctionne sur la machine du client Il démarre lors de l'appel de l'outil ou de l'application SQL*Plus, Server Manager, Developper/2000, Oracle Entreprise Manager, etc.) Il se termine lorsque l'utilisateur quitte ou interrompre l'application Il appelle le serveur Oracle

Les processus ORACLE Processus serveur Il fonctionne sur la machine serveur (hôte) Suite à la demande du processus utilisateur, le processus serveur lit les données des fichiers à l'intérieur du buffer de données Dans une config de serveur dédié 1 processus utilisateur + 1 processus serveur Dans une config MTS (mutlithreads) Partage de processus Il utilise une PGA (Program Global Area) exclusive Il envoie les résultats au client

Zone mémoire m moire du processus (PGA) Est une zone mémoire contenant des données relatives à un processus serveur unique ou à un thread unique Elle n'est ni partagé ni accessible en écriture Elle est allouée lorsqu'un processus serveur est créé Elle contient Une zone de tri utilisée avant le traitement ou le renvoi du résultat à l'utilisateur Des informations sur la session L'état du curseur Processus Serveur PGA

Background Threads DBWR (Data Base WRiter) Ecrire les blocs modifiés dans le cache de données sur les disques. Compte tenu de la journalisation (Redo log), les blocs ne sont pas forcément écrits à la validation des transactions. LOGWR (LoG WRiter) Ecrire dans les fichiers Redo Log le contenu du cache Redo Log SMON (System MONitor) Réalise le Recovery au moment du Startup Efface les segments temporaires Organise les blocks de données

Background Threads PMON (Process MONitor) Vide le cache Libère les ressources bloquées Ré-active si nécessaire les dispatchers ARCH (ARCHiver) Copie les redo log, quand ils sont pleins, dans les fichiers d archive. RECO Termine ou annule les transactions en suspend dans les BD distribuées LISTENER ou KMNLS Permet d établir des connexions Client-Serveur avec la base de données

Traitement d'une requête (ici) Il y a 3 étapes Analyse Exécution Récupération

Traitement d'une requête Select * From emp; Analyse Syntaxique Analyse Sémantique Plan ou ordre d'exécution Envoie état Envoie requête Processus Utilisateur Processus Serveur 1- Analyse

Traitement d'une requête Select * From emp; Préparation à l'extraction Processus Utilisateur Processus Serveur 2- Exécution

Traitement d'une requête Select * From emp; Envoie Données Envoie Données. Processus Utilisateur Processus Serveur 3- Récupération

Traitement d'une MAJ Update emp; SET sal = sal*1.5 Buffer de données INSTANCE Buffer Redo log Shared Pool Processus Serveur 1 Fichiers de données Fichiers de contrôles Fichiers Redo

Traitement d'une MAJ Update emp; SET sal = sal*1.5 Buffer de données INSTANCE Buffer Redo log Shared Pool 2 Processus Serveur Fichiers de données Fichiers de contrôles Fichiers Redo

Traitement d'une MAJ Update emp; SET sal = sal*1.5 3 Buffer de données INSTANCE Buffer Redo log Shared Pool Library Cache Cache du dictionnaire Processus Serveur Fichiers de données Fichiers de contrôles Fichiers Redo

Traitement d'une MAJ Update emp; SET sal = sal*1.5 4 Buffer de données INSTANCE Buffer Redo log Shared Pool Library Cache Cache du dictionnaire Processus Serveur Fichiers de données Fichiers de contrôles Fichiers Redo

Traitement d'une MAJ Update emp; SET sal = sal*1.5 5 Buffer de données INSTANCE Buffer Redo log Shared Pool Library Cache Cache du dictionnaire Processus Serveur Fichiers de données Fichiers de contrôles Fichiers Redo

Rollback Segment Ancienne Image Table Nouvelle Image Rollback Segment Ordre MAJ

Traitement des COMMIT Enregistrement de validation INSTANCE 1 Buffer de données Buffer Redo log Shared Pool Library Cache Cache du dictionnaire Processus Serveur Processus Utilisateur Fichiers de données Fichiers de contrôles Fichiers Redo

Traitement des COMMIT INSTANCE Buffer de données Buffer Redo log Shared Pool Library Cache Cache du dictionnaire LGWR Processus Serveur 2 Processus Utilisateur Fichiers de données Fichiers de contrôles Fichiers Redo

Traitement des COMMIT INSTANCE Buffer de données Buffer Redo log Shared Pool Library Cache Cache du dictionnaire LGWR Processus Serveur 3 Processus Utilisateur Fichiers de données Fichiers de contrôles Fichiers Redo

Traitement des COMMIT INSTANCE 4 Buffer de données Buffer Redo log Shared Pool Library Cache Cache du dictionnaire LGWR Processus Serveur Processus Utilisateur Fichiers de données Fichiers de contrôles Fichiers Redo

Traitement des COMMIT INSTANCE 5 Buffer de données Buffer Redo log Shared Pool Library Cache Cache du dictionnaire LGWR Processus Serveur Processus Utilisateur Fichiers de données Fichiers de contrôles Fichiers Redo

Architecture Une BDD Oracle Représente les structures physiques et logiques et se compose des fichiers du OS Est identifée par DB_Name au niveau du OS Une instance Est un moyen d'accéder à une base de données Oracle Ouvre toujours une seule et unique base de données Identifié par Oracle_SID au niveau du OS

La structure physique Fichiers de contrôles Fichiers redo log Fichiers de données La structure logique Tablespaces Segments Extents Blocs de données Une BDD Oracle

Structure logique Oracle Système d'exploitation BDD Oracle TableSpace Fichier de données Segment Extent Bloc Oracle Bloc OS

Structure logique TableSpace Une BDD Oracle est divisée en plus petites zones logiques nommées tablespaces Un Tablespace ne peut appartenir qu à une seule BDD Chaque Tablespace est constitué d un ou plusieurs fichiers de données stockés sur disque Un fichier ne peut appartenir qu à un seul Tablespace à la fois Une fois un fichier ajouté à un Tablespace, on ne peut plus le retirer ou l associer à un autre Tablespace

Structure logique Table Table Table Tablespace System Tablespace IQ2 Tablespace Users Fichier de données Fichier de données Fichier de données Fichier de données Fichier de données

Structure logique TableSpace Chaque BDD possède au moins un Tablespace appelé «system» Contenant les tables du dictionnaire de données On peut ajouter des Tablespaces supplémentaires pour grouper des utilisateurs ou des applications Tablespace user contient les tables des utilisateurs TableSpace IQ2 contient les tables des étudiants en IQ2 Un Tablespace peut être physiquement sur un autre disque

Structure logique Visibilité des tablespaces Chaque utilisateur possède : Un tablespace par défaut : Est celui dans lequel les tables de l'utilisateur seront créées de façon privilégiée Un tablespace temporaire Utilisé pour les tris et en cas d insuffisance en mémoire centrale

Structure logique Intérêts de plusieurs tablespaces spécialisés : Distribuer les E/S en fonction des applications Gérer les quotas utilisateurs Passer un tablespace OFFLINE sans perturber les autres tablespaces Mieux utiliser les supports de stockage Distribuer les index et les données sur des supports différents pour une meilleure fluidité

Structure logique Extent Ensemble contiguë de blocs de données alloués simultanément à un segment Segment Tout segment est créé avec au moins un extent (Initialextent) Lorsqu un segment est plein, attribution d un nouveau extent

Structure logique Les types de segments dans un tablespace : Segments de données Stockent les données. Chaque table a un et un seul segment qui contient toutes les données de la table. Créé automatiquement Segments d index Stockent les infos sur les index séparément de données. Créés lors de la création d un index Segment d amorçage Créé dans le Tablespace SYSTEM, contient les définitions du dictionnaire de données

Structure logique Les types de segments dans un tablespace : Segments temporaires Pour exécution des requêtes nécessitant de l espace disque temporaire Sont crées et détruits automatiquement par des ordres SQL ayant besoin d espace temporaire une requête qui contient les trois clauses DISTINCT, GROUP BY et ORDER sont «gourmandes» en espace temporaire

Structure logique Les types de segments dans un tablespace : Segments d annulation (RollBack) Enregistrent les actions, et les données avant modification Ne sont utilisables que pour les objets du Tablespace SYSTEM Seul un segment ROLLBACK qui n est pas en cours d'utilisation peut être détruit

Structure logique Blocs de données Plus petite unité logique La taille d un bloc peut être choisie au moment de l initialisation d une base. Elle correspond obligatoirement à un multiple de la taille des blocs du système d exploitation. Exemple, un bloc dans un système comme Linux occupe 1024 octets, et un bloc ORACLE occupe typiquement 4 096 ou 8 092 octets.

Structure logique BLOCS, EXTENSIONS ET SEGMENTS SEGMENT (128 K) EXTENT (32 K) EXTENT (32 K) Bloc de 4K

Structure logique Les objets d'une BDD Oracle Table : contient les données d une BDD Index : structure contenant l adresse physique de chaque ligne d une table ou d un cluster. Accès direct à l information. Vue : représentation logique de données issues d une combinaison d une ou plusieurs tables ou vues Synonyme : Attribution de plusieurs noms à un même objet Séquence : générateur d entiers uniques

Structure logique Les objets d'une BDD Oracle Les clusters : permettent d'établir un groupement de tables qui ont des colonnes communes pour accès rapide aux lignes issues d une jointure Procédure : ensemble de commandes (écrites en PL/SQL, SQL, C, Java, etc.) stockées dans la BDD Fonction : ensemble de commandes (écrites en PL/SQL, SQL, C, Java, etc.) qui retourne une valeur Package : collection de fonctions et procédures (privé et public) Déclencheur (Trigger) : procédures associées à un événement sur une table

Structure logique Les objets d'une BDD Oracle Source et classe Java Tableaux (VARRAY) Schéma XML

Structure logique