COURS DBA ORACLE 10g 1 CHAPITRE 1 -concepts de base SGBDs et SGBDRs Un SGBD est
COURS DBA ORACLE 10g 1 CHAPITRE 1 -concepts de base SGBDs et SGBDRs Un SGBD est un système complexe permettant de gérer de manière efficace, un volume important de données structurées, accessible par des utilisateurs simultanés locaux ou non. Un SGBDR (ou RDBMS en Anglais) est un SGBD basé sur le modèle relationnel. Une relation est un sous-ensemble de données caractérisé par des attributs et visualisable sous forme de table. Bien que cela ne soit pas vraiment formalisé, envisageons d’un point de vue pragmatique quelles doivent être les caractéristiques d’un ‘vrai’ SGBD par opposition à des systèmes de gestion de fichiers plus ou moins évolués comme Paradox, Omnis, fileMaker, Access… Caractéristique d’un vrai SGBD Un SGBDR digne de ce nom doit disposer d’un certain nombre de caractéristiques minimales : * gestion de gros volumes de données (en consultation et en mise à jour), * Sécurité des données, qui se décline en : * disponibilité Un SGBDR se doit d’offrir une bonne disponibilité des données. Une disponibilité totale des données est possible (temps de reprise nul) il suffit de s’en donner les moyens logiciels et matériels… * fiabilité Des mécanismes de sauvegarde variés (physique, logique, off-line, on-line, totale, partielle, incrémentale), ainsi que des mécanismes de journalisation, et de reprise permettent de restaurer une information sans pratiquement aucune perte, dans tous les cas de problème matériel ou logiciel. * confidentialité Tout n’est pas accessible à tout le monde! Se connecter à la base de données, donne un certain nombre de droits et de ressources en fonction d’un profil défini et maintenu par un administrateur. La granularité d’accès peut aller jusqu’à la vision unique d’un champ d’un enregistrement d’une table particulière. Encore une fois on ne manipule plus des fichiers… COURS DBA ORACLE 10g 2 * cohérence Que les données soient réparties ou non –dans ce dernier cas les mécanismes mis en jeux seront plus complexes– elles doivent être cohérentes. Cela sous entend, d’une part que les accès concurrents d’utilisateurs, notamment lors de mises à jour, ne doivent pas compromettre l’intégrité des données et d’autre part que ces dernières satisfassent aux contraintes d’intégrité du modèle, mais aussi aux règles de gestion de l’entreprise. * traçabilité On peut, notamment en cas de problème important ou en cas d’attaque du système, recourir à l’analyse de traces ou de logs du SGBD. Le niveau de détail de ces traces est paramétrable, et concerne soit les aspects système, soit réseau, soit l’accès aux données élémentaires elles-mêmes. * concurrence d’accès en lecture et écriture (avec une bonne granularité), * gestion (efficace) des transactions, * portabilité sur différents OS, des données et du code * administrabilité : Existence d’outils d’administration généraux : gestion des données, des utilisateurs, des fichiers physiques, des espaces logiques, des droits, des profils, des ressources systèmes, etc. - existence d’outils de surveillance En temps réel grâce à un moniteur, si possible graphique ou en temps différé grâce à des journaux ou à des traces paramétrables - possibilité d’export import : De, ou vers des fichiers “texte”, des logiciels bureautiques ou des fichiers gros systèmes par exemple - optimisation de performances : Offrir de bonnes performances et des outils permettant de les mesurer et de les contrôler via des paramètres de configuration. Des processus d’optimisation en temps réel des requêtes complexes sont également souvent présents. Les données peuvent être indexées, de manière souple, dynamique et complète (index simples, concaténés, multiples, tables de hashage, recherche textuelle, etc.). Un nombre important d’utilisateurs, ainsi qu’un volume conséquent de données peuvent être pris en compte. COURS DBA ORACLE 10g 3 Caractéristiques du relationnel * modèle sous jacent simple, bien formalisé et éprouvé, * accès simple via un langage de requêtes SQL * normalisé : Comme dans toute norme, elle est enrichie par les différents fournisseurs de logiciels. Mais si l’on se contraint à écrire des procédures respectant la norme ISO/ANSI 92 par exemple, on est quasiment garanti de pouvoir porter ce code sur Oracle, Informix ou Sybase… * opérateur de projection (ou sélection), restriction, produit cartésien, union, différence, * indépendance entre stockage physique et vision logique des données : Les données (le plus souvent des tables) sont référencées de manière logique. Un dictionnaire de données permet de retrouver la correspondance avec l’objet physique désiré. Ceci est bien sûr très utile dans les environnements ouverts, et offre une grande souplesse aussi bien lors du développement, que lors de la mise en production ou dans la phase de maintenance des applicatifs. La conséquence est que l’on pourra déplacer physiquement des données, par exemple les changer de serveur, renommer ou retailler un fichier sans pour autant retoucher le code des applications. Il n’y a pas de correspondance bijective entre un fichier et une table. * existence de contraintes d’intégrité - intégrité de domaines (contrôle du type de la donnée) - intégrité de relation (existence d’une clé primaire : unique et toujours définie (non nulle)) - intégrité de référence (contrôle de la cohérence d’attributs de tables différentes lors des mises à jour Architectures locales et réparties On peut distinguer essentiellement 3 types d’architecture globale de systèmes d’information basés sur Oracle : * architecture locale Tout est sur le même serveur matériel, programme client et serveur de données Oracle * architecture client/serveur COURS DBA ORACLE 10g 4 On a un programme client (un exécutable) sur le poste client, dit alors ‘client lourd’. Le PC communique avec le serveur de données sur un serveur distant, via le réseau, et la couche Oracle Net. * architecture 3 tiers Pas de programme client. Un navigateur suffit sur le poste de travail (dit alors ‘client léger’). Il dialogue avec le serveur de données distant via http. Note : il existe également des architectures n- tiers plus anecdotiques, mais conceptuellement intéressantes Exemple d’architecture 3-tiers Bases, instances et serveurs de données Une base de données Oracle est un objet riche et complexe composé physiquement d’une INSTANCE (zone mémoire partagée + processus de fond) et d’un certain nombre de FICHIERS PHYSIQUES, totalement indépendants du nombre de table (vrai SGBDR!). Une base de données peut héberger des centaines, voire des milliers, d’applications, d’utilisateurs et de tables. Un ensemble de tables (et de structures de données connexes) fonctionnellement dépendantes et appartenant au même utilisateur s’appelle us SCHEMA (parfois un COMPTE) Oracle. Pour fixer les idées une ‘DATABASE’ MySQL correspond à un SCHEMA Oracle. Note : dans la pratique on confond généralement la notion d’instance Oracle avec la notion de base de données Oracle. En théorie, une base de données peut être partagée par plusieurs instances, mais cela est assez rare. Cela permet de faire une répartition de la charge ou d’introduire de la redondance, pour pallier à des problèmes éventuelle de panne de CPU… COURS DBA ORACLE 10g 5 Exemple de 2 instances qui se partagent une base de données physique Un serveur de données ‘au sens Oracle) est l’ensemble : instance(s) + base de données physique Typologie des utilisateurs et des bases Les différentes catégories d’utilisateurs En pratique il existe 5 catégories d’utilisateurs, qui utilisent différents outils en fonction de leur profil et du SGBD ciblé. Ceci est résumé dans le tableau suivant : Type d’utilisateur profil outil ex Oracle exemple MySQL Utilisateur final non informaticien application client serveur ou web, ou progiciel, ou appli bureautique, outil d’aide à la Excel, appli maison, Oarcle application , B.O appli web COURS DBA ORACLE 10g 6 décision utilisateur final évolué non informaticien éclairé client QBE (Query by Example) MS QUery PHPMyAdmi n Développeur Technicien ou ingénieur Bloc note, environnement de développement , Atelier de développement TOAD, designer, webdb textpad Administrateu r application Utilisateur final hiérarchiquemen t privilégié l’application elle même, via un accès privilégié NA NA DBA Technicien ou ingénieur langage SQL, console d’admin texte, console graphique, console web sqlplus, OEM CS ou web, TOAD, PhpMyAdmin Outre le moteur du SGBD lui même, les différents fournisseurs proposent toute une suite de logiciels connexes permettant ces interactions, qui représente une part non négligeable de leur activité. Les différentes catégories de base de données La base de données, à l’instar d’un programme classique s’inscrit dans un cycle de vie, et différentes occurrences de la base permettent de ‘coller’ aux différentes phases du projet. On distingue principalement : * la phase de conception, qui produira le modèle conceptuel et le modèle logique de la base COURS DBA ORACLE 10g 7 * la phase de développement, qui verra la création et l’évolution de la base de développement (Base n°1) * les tests, avec une base de test ou de pré production (Base n°2) qui permettra outre de tester les programmes de manière approfondie, de tester la montée en charge et les performances en terme de volume de données, et de concurrence d’accès * la phase de production / exploitation et de maintenance, avec une base de production (Base n°3), initialisée avec des données réelles et dimensionnée de manière adéquate Le DBA sera fréquemment amené à transférer des données d’une base à une autre : * de la base de développement à la base de Test, pour effectuer les dits uploads/Management/ leilclic-688.pdf
Documents similaires
-
22
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 21, 2022
- Catégorie Management
- Langue French
- Taille du fichier 0.9625MB