Chapitre 1 : Architecture du serveur Oracle Architecture du serveur Oracle Obje

Chapitre 1 : Architecture du serveur Oracle Architecture du serveur Oracle Objectifs du cours • Connaître les composants du serveur Oracle : • Mémoires : pga et sga • Processus : Server Process,User Process et les processus en background Architecture de serveur Oracle 2 background • Fichiers • Manipuler les différentes vues du dictionnaire de données. • Connaître les différents modes de démarrage et d’arrêt de la base Composants du serveur oracle • Un serveur Oracle est un système de gestion de base de données qui fournit une approche intégrée, complète et ouverte de la gestion des informations • Un serveur Oracle est composé d'une instance Oracle et d'une base de données Oracle. et d'une base de données Oracle. • Une base de données Oracle n’est accessible que via une instance. • Une instance du serveur Oracle est composée d’une structure de mémoire partagée SGA (Système Global Area) et de plusieurs processus Oracle en arrière-plan ayant chacun un rôle bien déterminé. Architecture de serveur Oracle 3 Structures mémoire Structures des process Instance System Global Area (SGA) Processus en arrière plan Structure du serveur oracle Architecture de serveur Oracle 4 Structures de stockage Processus en arrière plan Database files Shared Pool Buffer cache Redo log buffer Java Pool Stream Pool Large Pool SGA PMON SMON INSTANCE Processus serveur PGA Processus utilisateur Petite mémoire qui contient quelques informations sur le user Lecture des données a partir de la base et chargement des blocs Se lance quand le BC est plein Se lance a chaque FC 1 FC 2 FC 3 FD 1 FD 2 FD 3 Membre A Membre B Membre A Membre B Membre A Membre B Groupe 1 Groupe 2 Groupe 3 Fichiers de contrôle Fichiers de données Fichiers de journalisation Fichiers d’archivage BASE DE DONNEES utilisateur base et chargement des blocs mémoire Se lance quand le BC est plein ou lorsqu’on lance un checkpoint Se lance a chaque commit et chaque 3 secondes Vérifie les fichiers de données, de contrôle Mémoires • Mémoire SGA (System Global Area): partagée par tous les processus serveur et les processus arrière- plan. plan. • Mémoire PGA (Program Global Area): propre à chaque processus serveur et processus en arrière- plan. Architecture de serveur Oracle 6 Structure mémoire SGA • Cache de tampons (Buffer Cache) : mets en mémoire cache les blocs de données extraits de la base. • Tampon de journalisation (Redo Log buffer) : mets en mémoire cache les informations de journalisation. mémoire cache les informations de journalisation. • Zone de mémoire partagée (Shared pool) cette zone sert à mémoriser, analyser et traiter les requêtes SQL provenant des divers utilisateurs. • Zone de mémoire (large Pool) : zone de mémoire facultative qui fournit des espaces importants d’allocation de mémoire à des processus volumineux (sauvegarde, récupération..) Architecture de serveur Oracle 7 Structure processus oracle • Processus utilisateur :un utilitaire ou programme qui permet de se connecter à une instance de BD avec un profil utilisateur. • Processus serveur :crée suite à une connexion • Processus serveur :crée suite à une connexion d’un processus utilisateur à l’instance d’une BD. Ce processus ,logé dans un tampon mémoire appelé PGA (Process Global Area) communique avec l'instance Oracle et exécute des instructions pour le compte du processus utilisateur. • Processus en arrière-plan: démarrés en même temps qu’une instance Oracle. Architecture de serveur Oracle 8 Structure processus Oracle Processus serveur Processus serveur Processus serveur Processus serveur Architecture du serveur Oracle 9 System Monitor (SMON) Database Writer (DBWn) Point de reprise (CKPT) LogWriter (LGWR) Process Monitor (PMON) Processus d'archivage (ARCn) serveur serveur serveur serveur Mémoire SGA (System Global Area) Processus en arrière-plan • Processus DatabaseWriter (DBWn): écrit les blocs modifiés du cache de tampons de la base de données vers les fichiers de données présents sur le disque. données présents sur le disque. • Point de reprise (CKPT): met à jour l’ensemble des fichiers de données et de contrôle de la base de données afin d’indiquer le point de reprise le plus récent. • Processus LGWR (Log Writer): écrit des entrées de journalisation sur le disque. Architecture de serveur Oracle 10 Processus en arrière-plan • Processus d’archivage (ARCn): copie les fichiers de journalisation dans l’emplacement de stockage d’archive journalisation dans l’emplacement de stockage d’archive • Processus SMON (System Monitor): effectue la récupération après une panne lorsque l’instance est démarrée suite à une défaillance. • Processus PMON (Process Monitor): procède au nettoyage des processus utilisateur en cas d’échec. Architecture de serveur Oracle 11 Structure physique de la Base de Données • Fichiers de contrôle : contient l’emplacement des fichiers de données, de journalisation et de backup. • Fichiers de données : Contiennent des données utilisateurs de la base la base • Fichiers de journalisation : Utilisés pour la récupération d’une instance de la base de données. • Fichiers de sauvegarde : Utilisés pour la récupération de la base de données lorsque le fichier d’origine est endommagé ou supprimé Architecture de serveur Oracle 12 Structure logique de la Base de Données • Tablespaces et fichiers de données: • Une base de données est divisée en unités de stockage logiques appelés tablespaces. • Chaque base de données est divisée de manière logique Architecture de serveur Oracle 13 • Chaque base de données est divisée de manière logique en un ou plusieurs tablespaces. • Les tablespaces SYSTEM et SYSAUX sont obligatoires. Ils sont créés en même temps que la base de données et doivent être en ligne. Structure logique de la Base de Données Architecture de serveur Oracle 14 Segment Extents Blocs de données Tablespace Blocs du disque Dictionnaire de données Architecture de serveur Oracle 15 Dictionnaire de données Tables contenant des données métier : EMPLOYEES Vues du dictionnaire de données : DICTIONARY Serveur Oracle Architecture de serveur Oracle 16 EMPLOYEES DEPARTMENTS LOCATIONS JOB_HISTORY ... DICTIONARY USER_OBJECTS USER_TABLES USER_TAB_COLUMNS ... Dictionnaire de données • Ensemble de tables et vues systèmes relatifs à l’utilisateur SYS. • Contient : • La structure logique et physique de la base. • Les utilisateurs de la BD (ainsi que leurs privilèges et • • Les utilisateurs de la BD (ainsi que leurs privilèges et rôles) • Les informations relatives aux contraintes d’intégrités • Les espaces alloués pour chaque objet crée • Crée en même temps que la base de données et mis à jour régulièrement. Architecture de serveur Oracle 17 Dictionnaire de données • Convention d’appellation des vues Préfixe de la vue Usage USER Vue de l’utilisateur (ce que contient votre Architecture de serveur Oracle 18 USER Vue de l’utilisateur (ce que contient votre schéma, dont vous êtes propriétaire) ALL Vue étendue de l’utilisateur (ce à quoi vous pouvez accéder) DBA Vue de l’administrateur de base de données (ce que contient le schéma de chaque utilisateur) V$ Données relatives aux performances Quelques vues et tables du dictionnaire de données • USER_TABLES : tables et vues créées par l'utilisateur. • USER_CATALOG (ou CAT) : tables et vues sur lesquelles l'utilisateur a des droits à l'exception des tables et vues du dictionnaire de données. • USER_TAB_COLUMNS (ou COLS) : colonne de chaque table ou vue créée • USER_TAB_COLUMNS (ou COLS) : colonne de chaque table ou vue créée par l'utilisateur courant. • USER_CONSTRAINTS : définition des contraintes pour les tables des utilisateurs. • USER_CONS_COLUMNS : colonnes qui interviennent dans les définitions des contraintes. • USER_OBJECTS : contient des informations sur les objets créés par l'utilisateur. • DICT ou DICTIONNARY contient le nom des tables du dictionnaire ainsi qu'un commentaire. Vues dynamiques de performance • Enregistrent l’activité en cours de la base de données • Constamment mises à jour lorsque la base de données est active active • Les informations sont lues à partir de la mémoire et du fichier de contrôle • Commencent par le prefixe v$ • Accessible par un dba Vues dynamiques : exemples • V$session : affiche les sessions en cours : select sid,serial#,user#,username from v$session; 5 1 0 5 1 0 6 1 0 7 164 5 SYSTEM • V$logfile : affiche la liste des fichiers journaux : select GROUP#,TYPE,MEMBER from v$logfile; 3 ONLINE C:\ORACLE\ORADATA\DBLABO\REDO03.LOG 2 ONLINE C:\ORACLE\ORADATA\DBLABO\REDO02.LOG 1 ONLINE C:\ORACLE\ORADATA\DBLABO\REDO01.LOG 4 ONLINE C:\ORACLE\ORADATA\DBLABO\REDOO41.ORA 4 ONLINE C:\ORACLE\ORADATA\DBLABO\REDOO42.ORA • V$controlfile : Affiche tous les noms des fichiers de contrôles Vues dynamiques : exemples • V$controlfile : Affiche tous les noms des fichiers de contrôles et leurs statut qui peut être NULL ou INVALID • SELECT * FROM V$CONTROLFILE; • show parameter control_files • SELECT VALUE FROM V$PARAMETER WHERE NAME = 'control_files'; Fichiers de paramètres d’initialisation • Pour démarrer une instance ,le serveur Oracle doit lire le 23 • Pour démarrer une instance ,le serveur Oracle doit lire le fichier de paramètres d’initialisation. Ce dernier peut être de 2 types : • Fichier de paramètres statique PFILE : (nommé initSID.ORA) • Fichier de paramètres persistant SPFILE : (nommé spfileSID.ora) Init<SID>.ORA • Fichier texte • Il peut être modifié manuellement à l’aide d’un éditeur du système d’exploitation 24 système d’exploitation • Les modifications sont effectives au démarrage suivant • Il ne peut être ouvert que lors du démarrage de l’instance. uploads/Ingenierie_Lourd/ 1-architecture-serveur.pdf

  • 20
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager