Cours d'administration de bases de données 2024-2025 PDF

Summary

Présentation du cours d'administration de bases de données pour l'année 2024-2025. Le document détaille les objectifs, motivations, et introduction au système de gestion de base de données Oracle.

Full Transcript

08/11/2024 MOTIVATIONS ADMINISTRATION DES BASES DE DONNÉES DR SOUMAYA TRABELSI...

08/11/2024 MOTIVATIONS ADMINISTRATION DES BASES DE DONNÉES DR SOUMAYA TRABELSI Pourquoi devenir administrateur BD ? 2024-2025 L’administrateur base de données occupe un rôle central et essentiel pour les entreprises. Cet emploi lui permet de bénéficier : ¡ d’importantes opportunités d’emploi ¡ d’une rémunération élevée ¡ de formations régulières ¡ d’une facilité à télé-travailler SOUMAYA TRABELSI 2024-2025 1 SOUMAYA TRABELSI 2024-2025 2 OBJECTIFS ¡ La maitrise de l’architecture d’un serveur base de données, et l’assimilation de toutes ses composantes, leurs INTRODUCTION fonctions et les interactions. ¡ L’étudiant est capable de maitriser l’outil de l’administration. Il arrive à connaitre les tâches spécifiques d’un administrateur, et les maitriser (création d’une BD, démarrage et arrêt, gestion des tablespaces, des fichiers journaux, des utilisateurs, la sauvegarde/restauration etc.) SOUMAYA TRABELSI 2024-2025 3 SOUMAYA TRABELSI 2024-2025 4 1 08/11/2024 INTRODUCTION INTRODUCTION 1.VUE D’ENSEMBLE D’ORACLE ¡ Oracle est une entreprise américaine créée en 1977 par Larry Ellison, Bob Miner et Ed Oates. ¡ Activité: logiciel et programmation. ¡ Ses produits phares sont le système de gestion de base de données Oracle Database, le serveur 1.Vue d’ensemble d’Oracle d'applications Oracle Weblogic Server, le progiciel de gestion intégré Oracle E-Business Suite et l'offre de cloud computing Oracle Cloud Infrastructure. ¡ En 2019, Oracle était la deuxième plus grande entreprise de logiciels en matière de chiffre d'affaires et de capitalisation boursière. SOUMAYA TRABELSI 2024-2025 5 SOUMAYA TRABELSI 2024-2025 6 INTRODUCTION INTRODUCTION 1.VUE D’ENSEMBLE D’ORACLE 1.VUE D’ENSEMBLE D’ORACLE Histoire (1/3) Histoire (2/3) ¡ En 2004, Oracle acquiert PeopleSoft, éditeur du PGI (Progiciel de Gestion Intégré en anglais entreprise resource ¡ En 2010, Oracle finalise le rachat de Sun Microsystems, un leader de projets open source (java, OpenOffice.org, planning system ERP) du même nom et d'outils de gestion de la relation client (CRM). MySQL) ce que ne manque pas d’inquiéter la communauté des logiciels libres. Oracle acquiert Phase Forward (un ¡ En 2005, Oracle acquiert Retek, l'éditeur de solutions pour la distribution. fournisseur leader de solutions de gestion de données pour les essais cliniques et la sécurité des médicaments), ¡ En 2006, Oracle acquiert Siebel Systems, l'éditeur d'outils de CRM. Art Technology Group (ATG logiciels de commerce en ligne). ¡ En 2007, Oracle acquiert Hyperion Solutions, l'éditeur de solutions décisionnelles, rachète Agile Software, ¡ En 2012, Oracle annonce l'achat de Taleo, société offrant des logiciels de gestion de talents (Aide au recrutement entreprise spécialisée dans le logiciel d'entreprises. de compétences). ¡ En 2008, Oracle acquiert BEA Systems, éditeur de WebLogic. ¡ En 2013, Oracle rachète Bitzer Mobile, éditeur américain proposant une application de support multiplateformes mobiles et acquiert Responsys, une entreprise de logiciel spécialisée dans le cloud. SOUMAYA TRABELSI 2024-2025 7 SOUMAYA TRABELSI 2024-2025 8 2 08/11/2024 INTRODUCTION INTRODUCTION 1.VUE D’ENSEMBLE D’ORACLE 1.VUE D’ENSEMBLE D’ORACLE Produits (1/3) Histoire (3/3) ¡ Software as a Services (SaaS - Cloud) ¡ En 2014, Oracle acquiert BlueKai, une entreprise de gestion de base de données, BlueKai, une entreprise de ¡ Oracle NetSuite gestion de base de données, l'entreprise GreenBytes (website design), Micros Systems, spécialisée dans les caisses ¡ ERP (Enterprise Resources Planning) électroniques. ¡ HCM (Human Capital Management) ¡ En 2016, Oracle annonce l'acquisition de Textura, spécialisée dans le cloud, de NetSuite, entreprise américaine ¡ CRM (Customer Relationship Management) spécialisée dans le cloud, de Dyn société de gestion des performances internet et de sécurité des applications web. ¡ OHC (Oracle Hospitality Connect) ¡ Logiciels de bases de données ¡ En 2017, Oracle annonce l'acquisition d'Aconex, une entreprise australienne spécialisée dans les logiciels cloud notamment pour les secteurs de la construction. ¡ MySQL Server ¡ MySQL Workbench ¡ En 2021, Oracle annonce l'acquisition de Cerner, une entreprise américaine spécialisée dans les logiciels pour le monde médical. ¡ Oracle Database SOUMAYA TRABELSI 2024-2025 9 ¡ Oracle SQL Developer SOUMAYA TRABELSI 2024-2025 10 ¡ Oracle TimesTen In-Memory Database et Oracle In-Memory Database Cache INTRODUCTION INTRODUCTION 1.VUE D’ENSEMBLE D’ORACLE 1.VUE D’ENSEMBLE D’ORACLE Produits (2/3) ¡ Solutions Java ¡ Plateformes Java ¡ Java EE ¡ Java ME Produits (3/3) ¡ Java SE ¡ Logiciels de messagerie électronique ¡ JavaFX ¡ Oracle Communications Unified Communications Suite ¡ Environnements de développement ¡ JDeveloper ¡ Logiciels de virtualisation ¡ NetBeans ¡ Oracle VM ¡ Oracle Application Express ¡ Oracle VM VirtualBox ¡ Serveurs d'applications ¡ Oracle GlassFish Server ¡ Oracle iPlanet Web Server SOUMAYA TRABELSI 2024-2025 11 SOUMAYA TRABELSI 2024-2025 12 ¡ Oracle WebLogic Server 3 08/11/2024 INTRODUCTION INTRODUCTION 2. ORACLE DATABASE Bases de données relationnelles BDR ¡ Collection de données opérationnelles enregistrées sur un support adressable et utilisées par les systèmes et les applications. ¡ Les données doivent être structurées indépendamment d'une 2. Oracle Database application particulière. ¡ Elles doivent être cohérentes (contraintes), non redondantes (formes normales) et accessibles simultanément par plusieurs utilisateurs. SOUMAYA TRABELSI 2024-2025 13 SOUMAYA TRABELSI 2024-2025 14 INTRODUCTION INTRODUCTION 2. ORACLE DATABASE 2. ORACLE DATABASE SGBD : Système de Gestion de bases de données Le passage du modèle E/A au modèle relationnelle ¡ Un ensemble de programmes qui permettent la gestion et l'accès à une base de données. ¡ Possède son propre système de fichier. ¡ Une entité (modèle E/A) = Une relation (modèle R) ¡ Assure la reprise en cas de panne. ¡ Doit permettre la sauvegarde et la restauration d’une BD. ¡ Une association (modèle E/A) = Une relation (modèle R) ¡ Doit permettre une gestion des rôles et droits. ¡ Une des fonctions importante des SGBD modernes est d’autoriser les utilisateurs d’effectuer des opérations simultanées (concurrentes) sur des données partagées de la BD. Pour éviter que la BD soit incohérente, le SGBD met en place un protocole de contrôle de simultanéité (ou de concurrence) qui empêche les accès à la BD d’interférer. SOUMAYA TRABELSI 2024-2025 15 SOUMAYA TRABELSI 2024-2025 16 4 08/11/2024 INTRODUCTION INTRODUCTION 2. ORACLE DATABASE 2. ORACLE DATABASE Transactions ¡ Action atomique : entièrement ou pas du tout ¡ Préservant la consistance de la BD ¡ Comme si l'usager était isolé sur la BD : ses résultats intermédiaires (état temporairement incohérent) sont ¡ Oracle Database est un système de gestion de base de données relationnelle (SGBDR). masqués aux autres transactions. ¡ Depuis l'introduction du support du modèle objet dans sa version 8, il peut être aussi qualifié de système de ¡ A effet durable sur la BD, une fois terminées comme prévu les effets d’une transaction globalement terminée ne gestion de base de données relationnel-objet (SGBDRO). peuvent pas être détruits ultérieurement par une quelconque défaillance. ¡ Fourni par Oracle Corporation, il a été développé par Larry Ellison, accompagné entre autres, de Bob Miner et Ed Modèle ACID de transactions Oates. SOUMAYA TRABELSI 2024-2025 17 SOUMAYA TRABELSI 2024-2025 18 INTRODUCTION INTRODUCTION 2. ORACLE DATABASE 2. ORACLE DATABASE Histoire (1/4) Histoire (2/4) ¡ 1977: création de Software Development Laboratories. ¡ 1988: la version 6 supporte le PL/SQL, le verrouillage de lignes (row-level locking) et les sauvegardes à chaud ¡ 1979: l'entreprise change de nom en devenant Relational Software, Inc. (RSI) et commercialise son produit (hot backups, lorsque la base de données est ouverte). Oracle V2 comme base de données relationnelle (fonctionnalités de SQL. basique: requête et jointure). ¡ 1992: la version 7 supporte les contraintes d'intégrité, les procédures stockées et les déclencheurs (triggers). ¡ 1983: RSI devient Oracle Corporation. Publication de Oracle V3 , entièrement réécrite en langage de programmation C (supporte les transactions, fonctionne sous la plate-forme Unix). ¡ 1997: la version 8 introduit le développement orienté objet, et les applications multimédia grâce aux services Oracle interMedia, renommé Oracle Multimedia depuis la version 11g. ¡ 1984: la version 4 supporte la cohérence en lecture (read consistency). ¡ 1999: la version 8i d'Oracle est publiée dans le but d'affiner ses applications avec Internet (le i fait référence à ¡ 1985: la version 5 supporte les requêtes distribuées, dans le cadre de l'intégration du modèle client-serveur avec Internet). La base de données comporte nativement une machine virtuelle Java. l'arrivée des réseaux au milieu des années 1980. SOUMAYA TRABELSI 2024-2025 19 SOUMAYA TRABELSI 2024-2025 20 5 08/11/2024 INTRODUCTION INTRODUCTION 2. ORACLE DATABASE 2. ORACLE DATABASE Histoire (3/4) ¡ 2001: la version 9i ajoute 400 nouvelles fonctionnalités et permet de lire et d'écrire des documents XML. Elle Histoire (4/4) intègre le moteur OLAP : le moteur Oracle Express est dorénavant référencé au sein de l'option Oracle OLAP. Les données multidimensionnelles sont accessibles à partir du langage SQL. ¡ 2017: la version 12c release 2 (12.2.0.1) est publiée. ¡ 2003: la version 10g (g pour grid en anglais grille en français). ¡ 2018: la version 18c est publiée, il s'agit de la version 12.2.0.2 mais avec la nouvelle convention de version. ¡ 2005: la version 10g Express Edition, gratuite, est publiée, ainsi que la version 10g Release 2. ¡ 2019: la version 19c est publiée. ¡ 2007: la version 11g Linux et Windows. ¡ 2021: paraît la version 21c. ¡ 2009: la version 11g Release 2 est publiée. ¡ 2013: la version 12c est publiée. SOUMAYA TRABELSI 2024-2025 21 SOUMAYA TRABELSI 2024-2025 22 INTRODUCTION INTRODUCTION 3. ADMINISTRATION D’ORACLE DATABASE Les métiers autour des bases de données : ¡ Administrateur ¡ Responsable de la sécurité ¡ Administrateur réseaux 3. Administration d’Oracle Database ¡ Développeurs d’application ¡ Administrateurs d’application ¡ Utilisateurs : modifier les données, créer des rapports Note Dans des environnements de petite taille, l’administrateur peut jouer quasiment tous les rôles SOUMAYA TRABELSI 2024-2025 23 SOUMAYA TRABELSI 2024-2025 24 6 08/11/2024 INTRODUCTION INTRODUCTION 3. ADMINISTRATION D’ORACLE DATABASE 3. ADMINISTRATION D’ORACLE DATABASE Tâches de l’administrateur de BD ¡ Dans la phase de « conception » Administration des bases de données? ¡ Définition du schéma conceptuel de la base ¡ Conception physique des bases de données ¡ Règles de gestion, cohérence des informations ¡ Dernière étape d’un processus de conception de BD ¡ Cycle de vie des données, volumétrie ¡ Nombreux choix possibles sur la façon d’organiser le serveur de bases de données ¡ Dans la phase de « maintenance » ¡ taille d’un bloc, emplacements des fichiers sur disque, nombre de fichiers de données, taille des fichiers, multiplexage, espace ¡ Installer les logiciels Oracle de fichiers de données, taille des fichiers, multiplexage, espace logique de stockage (tablespace), … ¡ Planification et création des BD La face cachée des bases de données ¡ Gestion de la sécurité, des utilisateurs ¡ Sauvegarde et restauration SOUMAYA TRABELSI 2024-2025 25 ¡ Optimisation de la base de données (optimisation de requêtes) SOUMAYA TRABELSI 2024-2025 26 ¡ Administration du réseau INTRODUCTION 3. ADMINISTRATION D’ORACLE DATABASE Rôles d’un DBA (DataBase Administrator) I. ARCHITECTURE D’ORACLE ¡ Installer le SGBD et les applications clientes ¡ Planifier et créer des bases de données ¡ Gérer l’espace et implanter les schémas des données ¡ Assurer la sécurité, l’intégrité et la pérennité des données ¡ Effectuer des réglages pour optimiser les performances SOUMAYA TRABELSI 2024-2025 27 SOUMAYA TRABELSI 2024-2025 28 7 08/11/2024 ARCHITECTURE D’ORACLE ARCHITECTURE D’ORACLE Database Instance User process SGA Background Processes Server 1. Les clients et les serveurs d'Oracle process Processes Database Data Control Redo files files log files SOUMAYA TRABELSI 2024-2025 29 SOUMAYA TRABELSI 2024-2025 30 ARCHITECTURE D’ORACLE ARCHITECTURE D’ORACLE 1. LES CLIENTS ET LES SERVEURS D’ORACLE 1. LES CLIENTS ET LES SERVEURS D’ORACLE 1 serveur plusieurs clients La connexion client/serveur Oracle Oracle ¡ Utilisateurs ¡ Un processus utilisateur est créé quand un utilisateur lance une application cliente ¡ Connexion directe à l'hôte ¡ Une connexion va être créée avec l’instance Oracle, l’utilisateur va ouvrir une session. ¡ avec Telnet + SQL*plus ¡ Un processus serveur va analyser et exécuter les requêtes, retourner les données ¡ Connexion client/serveur ou deux tiers ¡ Mode dédié : un processus serveur pour un processus client ¡ avec les outils OEM : Oracle Entreprise Manager (SQL Worksheet) ¡ Mode partagé : les clients partagent un groupe de processus serveurs ¡ ou avec une application développée en Client/Serveur (avec SQL Developer) ¡ Evite les processus serveurs inactifs ¡ Administrateurs ¡ chargés de l'entretien du serveur Oracle SOUMAYA TRABELSI 2024-2025 31 SOUMAYA TRABELSI 2024-2025 32 8 08/11/2024 ARCHITECTURE D’ORACLE ARCHITECTURE D’ORACLE 2. LES COMPOSANTS D’UNE INSTANCE La mémoire ¡ 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 : 2. Les composants d’une instance ¡ 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. 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 SOUMAYA TRABELSI 2024-2025 33 SOUMAYA TRABELSI 2024-2025 34 ARCHITECTURE D’ORACLE ARCHITECTURE D’ORACLE 2. LES COMPOSANTS D’UNE INSTANCE 2. LES COMPOSANTS D’UNE INSTANCE Les processus de fond serveur (2/2) Les processus de fond serveur (1/2) ¡ CKPT (Chekpoint) ¡ Exécutent des actions asynchrones d’écriture et de contrôle ¡ Pour assurer la synchronisation et la cohérence des données ¡ DBWn (Database Writer) - Ecrit le contenu du cache de données dans les fichiers de données ¡ SMON (System Monitor) ¡ Lorsque la place manque en SGA ¡ Effectue la restauration lors de reprise après panne ¡ De façon périodique, en mettant à jour le point de restauration dans les fichiers de log ¡ Nettoie les segments temporaires ¡ on peut en créer plusieurs : DBW0, DBW1,... , DBWj ¡ Fusionne certains extents libres contigüe ¡ LGWR (Log Writer) - Ecrit le contenu du cache de reprise dans les fichiers de log ¡ PMON (Process Monitor) ¡ en cas de “commit” d’un utilisateur ¡ Pour gérer les pannes des processus clients ¡ Toutes les trois secondes ¡ Quand le cache de reprise est plein au tiers ¡ RECO (Recover) ¡ Quand un processus DBWn décharge des données modifiées ¡ Pour les reprises après panne de transactions distribuées ¡ ARCn (Archiver) SOUMAYA TRABELSI 2024-2025 35 SOUMAYA Pour l’archivage, lorsqu’il est activé ¡ TRABELSI 2024-2025 36 ¡... 9 08/11/2024 ARCHITECTURE D’ORACLE ARCHITECTURE D’ORACLE 3. LES COMPOSANTS D’UNE BASE DE DONNÉES Structure physique ¡ Des fichiers sur le disque ¡ un fichier de contrôle qui spécifie le nom et l’emplacement des fichiers, le nom de la base,... ¡ plusieurs fichiers de données pour stocker les données 3. Les composants d’une base de données ¡ au moins deux fichiers de reprise après panne qui contiennent les modifications récentes ¡ des fichiers d’archivage (optionnel) pour archiver les fichiers de contrôle ¡ un fichier de paramètres (optionnel) qui stocke tous les paramètres de la base ¡ des fichiers de trace pour répertorier toutes les tâches et erreurs effectuées SOUMAYA TRABELSI 2024-2025 37 SOUMAYA TRABELSI 2024-2025 38 ARCHITECTURE D’ORACLE 3. LES COMPOSANTS D’UNE BASE DE DONNÉES ARCHITECTURE D’ORACLE Structure logique ¡ Des concepts pour gérer finement la mémoire ¡ le block de données est l’unité logique la plus fine, 8ko par défaut. ¡ l’extent est un ensemble contigüe de blocks, alloués en une seule fois. 4. Les schémas pour Oracle ¡ le segment est un ensemble d’extents dédiés à un même objet (table, index,...) ¡ le tablespace : regroupe un ensemble d’objets (=segments) pour faciliter leur administration. Peut atteindre 8 exabytes ! ¡ Un tablespace = un ou plusieurs fichiers de données SOUMAYA TRABELSI 2024-2025 39 SOUMAYA TRABELSI 2024-2025 40 10 08/11/2024 ARCHITECTURE D’ORACLE 4. LES SCHÉMAS POUR ORACLE ARCHITECTURE D’ORACLE ¡ Un schéma Oracle correspond au sein d'une base de données (instance Oracle) à un espace isolé comportant toutes les tables appartenant à d'un utilisateur du SGBD. Ainsi chaque utilisateur possède un schéma. ¡ Pour simplifier on pourrait plutôt dire qu'une base Oracle est en fait une collection de BD et qu'un schéma est une BD. 5. Identification du DBA sous Oracle ¡ Lorsqu'un utilisateur se connecte il se connecte généralement dans son propre schéma. Il lui est néanmoins possible de travailler sur les tables d'autres schémas, à condition d'avoir les droits associés bien entendu. SOUMAYA TRABELSI 2024-2025 41 SOUMAYA TRABELSI 2024-2025 42 ARCHITECTURE D’ORACLE ARCHITECTURE D’ORACLE 5. IDENTIFICATION DU DBA SOUS ORACLE 5. IDENTIFICATION DU DBA SOUS ORACLE Les privilèges SYSDBA et SYSOPER ¡ Permettent d’effectuer les opérations au-dessus de la base de données, en se connectant à l’instance ¡ Démarrer et arrêter le serveur Le rôle DBA ¡ Créer ou supprimer des bases de données ¡ Gestion des utilisateurs, de la mémoire... ¡ Changer les modes d’archivage de la base... ¡ Dès la création de la base, deux utilisateurs sont automatiquement créés avec le rôle “DBA“ ¡ Leur identification est gérée soit : ¡ SYS (default password: CHANGE_ON_INSTALL) ¡ Par le SE ¡ Possède toutes les tables systèmes, dont le dictionnaire ¡ l’utilisateur doit appartenir au groupe dba ou oper (ora dba et ora oper sous WINDOWS) ¡ SYSTEM (default password: MANAGER) ¡ connect / as sysdba ; connect / as sysoper. ¡ Pour créer des tables d’administration uniquement ¡ Par le fichier password d’Oracle ¡ Créer un fichier password avec l’outil ORAPWD ¡ accorder le privilège à partir de l’utilisateur SYS SOUMAYA TRABELSI 2024-2025 43 SOUMAYA TRABELSI 2024-2025 44 ¡ connect user/user as sysdba; 11 08/11/2024 ARCHITECTURE D’ORACLE 5. IDENTIFICATION DU DBA SOUS ORACLE ARCHITECTURE D’ORACLE Les privilèges SYSDBA et SYSOPER Remarque : 6. Le dictionnaire de données Le rôle DBA n'inclut pas les privilèges système SYSDBA ou SYSOPER. Il s'agit de privilèges administratifs spéciaux qui permettent à un administrateur d'effectuer des tâches d'administration de base de données, telles que la création de la base de données et le démarrage et l'arrêt de l'instance. Un ABD doit disposer de l'un de ces privilèges, en fonction du niveau d'autorisation dont il a besoin. SOUMAYA TRABELSI 2024-2025 45 SOUMAYA TRABELSI 2024-2025 46 ARCHITECTURE D’ORACLE ARCHITECTURE D’ORACLE 6. LE DICTIONNAIRE DE DONNÉES 6. LE DICTIONNAIRE DE DONNÉES Informations du dictionnaire ¡ Ensemble de tables appartenant à l’utilisateur SYS Structure du dictionnaire ¡ principales informations ¡ Des tables de base, uniquement accédées par Oracle et SYS ¡ La définition de tous les objets et leur espace alloué ¡ Des vues mises à la disposition des utilisateurs (selon leurs droits) ¡ Les valeurs par défaut des attributs ¡ Vues utilisateurs : USER View. Pour les objets demandés par l’utilisateur ¡ Les contraintes d’intégrité ¡ Vues d’ensemble :ALL Views. Pour une vue d’ensemble sur les objets auxquels on a accès ¡ La liste des utilisateurs, leurs privilèges ¡ Vues d’administration : DBA Views. Sur l’ensemble de la base, uniquement SYS. ¡ Des informations d’audit sur les accès et modifications ¡ Vues dynamiques sur l’activité de la base :V-$Views. ¡... SOUMAYA TRABELSI 2024-2025 47 SOUMAYA TRABELSI 2024-2025 48 12 08/11/2024 ARCHITECTURE D’ORACLE ARCHITECTURE D’ORACLE 7. SYNTHÈSE Fonctionnement d’oracle: traitement d’une requête d’interrogation SELECT ¡ Une instance Oracle est démarrée sur le serveur ¡ Une application cliente établit une connexion et ouvre une session 7. Synthèse: fonctionnement d’oracle ¡ Le serveur détecte la requête de connexion et crée un processus serveur dédié ¡ L’utilisateur lance une requête SQL ¡ Le processus serveur recherche dans la ”shared pool“ (partie de la SGA) si la requête existe ¡ OUI : elle sera utilisée pour répondre ¡ NON : la nouvelle requête est insérée dans la shared pool, analysée et exécutée SOUMAYA TRABELSI 2024-2025 49 SOUMAYA TRABELSI 2024-2025 50 13

Use Quizgecko on...
Browser
Browser