Cours DBA Oracle 1 Une instance oracle (un lancement de la base) :  Permet d’a

Cours DBA Oracle 1 Une instance oracle (un lancement de la base) :  Permet d’accéder à une base de données Oracle  N’ouvre qu’une seule base de données  Est constituée de structure de processus d’arrière plan et de structure mémoire (SGA). Instance Mémoire SGA (structures mémoire) Zone de mémoire partagée Cache « librairy » Cache du dictionnaire de données Gestion de tampons de la base de données Tampons de journalisation Zone de mémoire Java Zone de mémoire LARGE SPOOL Structure de processus d’arrière-plan Pmon Smon Dbwr Lgwr Ckpt Autres Mémoire SGA (system or shared global area) : alloué au démarrage de l’instance, composante fondamentale d’une instance Oracle. On peut la voir par show SGA : Mémoire PGA (Program global area) : alloué au démarrage du processus serveur. 3 types de fichiers : 1) fichiers de paramètres : a) fichier PFILE init.ora, b) fichier de mots de passe (pwd …). 2) Fichiers de la base : a) fichiers de données (datafile), b) fichiers de contrôle, c) fichiers de journalisation ON LINE (redo log), 3) Fichiers de journalisation archivés OFF LINE (arch log),. En V9, La mémoire SGA :  Est dynamique,  Sa taille est définie par le paramètre SGA_MAX_SIZE  Son allocation et son suivi sont effectués sous la forme de granules, par les composant de la SGA :  => allocation e mémoire virtuelle contiguë,  => taille des granules définie en fonction de la valeur totale estimée de SGA_MAX_SIZE La Zone de mémoire partagée :  permet de stocker :  => les dernières instructions SQL exécutées,  => les dernières définitions de données utilisées  est constituée de 2 structures mémoire clés liées aux performances :  => cache « librairy »,  => du dictionnaire de données  est définie par le paramètre SHARED_POOL_SIZE (alter system set SHARED_POOL_SIZE = 64M; ). Le Cache “librairy” :  conserve des informations sur les dernières instructions SQL et PL/SQL utilisées,  permet le partage des instructions communes,  est gérée par l’algorithme LRU (list recent use),  est composée de 2 structures :  => Zone SQL partagée  => Zone PL/SQL partagée  sa taille dépend du dimensionnement de la zone de mémoire partagée. Le cache du dictionnaire de données :  contient les dernières définitions utilisées dans la base,  contient des informations sur les fichiers, les tables, les index, les colonnes, les utilisateurs, les privilèges et d’autres objets de la base de données.  Au cours de l’analyse, le processus serveur recherche des informations dans le cache du dictionnaire, pour résoudre les noms d’objet et valider l’accès.  La mise en mémoire cache des informations du dictionnaire de données réduit le temps de réponse aux interrogations et aux instructions LMD,  Sa taille dépend du dimensionnement de la zone mémoire partagée. Le cache de tampons de la base :  Conserve des copies des blocs de données extraits des fichiers de données,  Permet des gains de performances considérables, lors de l’obtention et de la mise à jour de données,  Est géré par un algorithme LRU,  Le paramètre DB_BLOCK_SIZE détermine la taille du bloc principal.  Est composé de sous-caches indépendants :  => DB_CACHE_SIZE  => DB_KEEP_CACHE_SIZE  => DB_RECYCLE_CACHE_SIZE  peut être redimensionné dynamiquement :  alter system set DB_CACHE_SIZE = 96M;  le paramètre DB_CACHE_ADVICE peut être défini pour collecter des statistiques permettant de prévoir le comportement du serveur en fonction de différentes tailles du cache.  La vue V$DB_CACHE_ADVICE affiche les statistiques collectées. Le tampon de journalisation :  Enregistre toutes les modifications apportées aux blocs de données de la base.  Sa principale fonction est la récupération des données.  Les modifications enregistrées constituent des entrées de journalisation.  Les entrées de journalisation contiennent des informations permettant de reconstruire des modifications,  La taille du tampon est définie par le paramètre LOG_BUFFER. La zone de mémoire LARGE POOL :  Est une zone facultative de la mémoire SGA,  Réduit la charge de la zone de mémoire partagée,  Est utilisée pour :  => La mémoire allouée par session (UGA) au serveur partagé,  => les processus serveurs d’E/S  => les opérations de sauvegarde ou de restauration ou RMAN (recovery manager).  => les mémoire tampon des messages d’exécution en parallèle : PARALLEL_AUTOMATIC_TUNING = TRUE  n’utilise pas de liste LRU,  sa taille est définie par le paramètre : LARGE_POOL_SIZE,  peut-être redimensionné dynamiquement. La zone de mémoire JAVA :  répond aux besoins d’analyse des commandes Java.  Est nécessaire si Java est installé et utilisé.  Sa taille est définie par le paramètre JAVA_POOL_SIZE. La mémoire PGA :  Est réservée à chaque processus utilisateur qui se connecte à une base de données Oracle.  Est alloué lors qu’un processus Oracle est crée,  N’est utilisé que par un seul processus. Différence d’allocation mémoire PGA, entre serveur dédié et le serveur partagé : 1 Zone de mémoire Serveur dédié Serveur partagé Type de mémoire allouée par session Privée Partagée Emplacement de la zone persistante Mémoire PGA Mémoire SGA Emplacement de la zone d’exécution (SELECT) Mémoire PGA Mémoire SGA Emplacement de la zone d’exécution (LMD/LDD) Mémoire PGA Mémoire SGA Structure de processus : Oracle utilise différents types de processus :  Processus utilisateur : est démarré au moment où un utilisateur de la base de données effectue une demande de connexion au serveur Oracle  Processus serveur : se connecte à l’instance Oracle et démarre lorsqu’un utilisateur établit une session.  Processus d’arrière-plan : sont lancé au démarrage d’une instance Oracle. Le processus utilisateur :  Est un programme qui demande une interaction avec le serveur Oracle,  Doit d’abord établir une connexion,  N’entre pas directement en interaction avec le serveur Oracle. Le processus serveur :  Est un programme qui entre directement en interaction avec le serveur Oracle.  Répond aux appels générés et renvoie les résultats.  Peut être un serveur dédié ou un serveur partagé. Les processus d’arrière-plan :  Gèrent et appliquent les relations entre les structures physiques et les structures mémoire :  => processus d’arrière-plan obligatoires : DBWn, pmon, smon, lgwr, ckpt  => processus d’arrière-plan facultatifs : ARCn (archivage), CJQ0 (coordinateur job queue), Dnnn (répartiteur), LCKn (verrous d’instance), LMDn (verrous à distance), lmon (verrous globaux), LMS (RAC Global cache service), Pnnn (Processus esclave « parallel Query »), QMNn (Adevenced Queuing), reco (récupérateur), Snnn (serveur partagé). Le processus database writer (DBWn) écrit dans les cas suivants :  Point de reprise (chekpoint),  Seuil des tampons « dirty » atteint,  Aucune mémoire tampon disponible,  Temps imparti dépassé,  Demande de ping RAC,  Tablespace hors ligne  Tablespace en lecture seule,  DROP ou TRUNCATE sur une table  BEGIN BACKUP sur une tablespace. Le processus log writer (LGWR) effectue une opération d’écriture dans les cas suivants :  Validation,  Un tier du cache est occupé,  La journalisation atteint 1 Mo,  Toutes les 3 secondes,  Avant que le processus DBWn ne procède à une opération d’écriture. Le processus system monitor (SMON) a :  Comme responsabilité :  => 1) la récupération d’instance :  => => réimplantation des modifications dans les fichiers de journalisation en ligne.  => => ouverture de la base de données pour permettre l’accès aux utilisateurs,  => => annulation des transactions non validées,  => 2) la fusion de l’espace libre,  => 3) la libération des segments temporaires. Le processus « processus monitor » (PMON) :  Suite à l’échec du processus, PMON exécute des opérations de nettoyage :  => annulation de la transaction en cours,  => libération des verrous,  => libération d’autres ressources,  => redémarrage des répartiteurs interrompus. Le processus Checkpoint (CKPT) à pour responsabilité :  => du signalement de DBWn aux points de reprise,  => de la mise à jour des en-têtes de fichiers de données avec les informations sur le point de reprise  => de la mise à jour des fichiers de contrôle avec les informations sur le point de reprise. Le processus d’archivage (ARCn) :  est un processus d’arrière-plan facultatif,  en mode ARCHIVELOG, archive automatiquement les fichiers de journalisation en ligne,  enregistre toutes les modifications apportées à la base de données. La structure logique :  définit le mode d’utilisation de l’espace physique d’une base de données.  Possède une hiérarchie composée de tablespaces, de segments, d’extents et de blocs. Tablespace Fichiers de données Segment Extent Segment Blocs BD  (1 ou plusieurs Tablespace(s) ), 1 Tablespace  (1 ou plusieurs datafiles _ fichiers de données), 1 Tablespace  (1 ou plusieurs segments), 1 segment est composé d’extents. 1 extent est composé de blocs logiques (1 bloc = plus petite unité de lecture et d’écriture). A l’exception du tablespace SYSTEM et des tablespaces contenant un segment d’annulation actif, les tablespaces peuvent être mis hors ligne, sans nécessité de l’arrêt de la base. Traitement d’une instruction SQL : a) Parse uploads/Industriel/ cours-dbaoracle.pdf

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