Administration de Bases de Données
Ce document traite de l'administration des bases de données Oracle, plus précisément de l'étude et de la manipulation du dictionnaire de données. Il s'adresse aux étudiants de niveau Licence 2 en Informatique de Gestion (2LFIG) qui souhaitent comprendre la structure centrale sur laquelle repose Oracle et apprendre à interroger les métadonnées via SQL.
D'après le document Administration de Bases de Données
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
SGBD, Oracle, Bases de Données · PDF · 3 pages
Afficher l'aperçu du document
Ce document traite de l'administration des bases de données Oracle, plus précisément de l'étude et de la manipulation du dictionnaire de données. Il s'adresse aux étudiants de niveau Licence 2 en Informatique de Gestion (2LFIG) qui souhaitent comprendre la structure centrale sur laquelle repose Oracle et apprendre à interroger les métadonnées via SQL.
Le dictionnaire de données Oracle
Le dictionnaire de données Oracle est une structure centralisée contenant la description de tous les objets gérés par le SGBD (tables, vues, utilisateurs, etc.). Il regroupe toutes les informations nécessaires au fonctionnement du système. Cette structure est elle-même organisée comme une base de données, appelée méta-base, ce qui permet d’y accéder directement via SQL.
Pour des raisons d'intégrité, la plupart des tables du dictionnaire ne sont pas modifiables par les utilisateurs, seul l'administrateur SYS y a accès. En revanche, le contenu est généralement accessible via des vues, car les tables sont souvent cryptées.
Les vues principales du dictionnaire se répartissent en quatre catégories :
- USER_* : vues relatives aux objets d’un utilisateur.
- ALL_* : vues relatives aux objets accessibles à un utilisateur.
- DBA_* : vues relatives aux administrateurs.
- V$* : vues relatives au suivi des performances.
Consultation du dictionnaire de données
L’ensemble des tables du dictionnaire est recensé dans la table principale DICTIONARY (ou DICT).
Pour connaître la structure d’un objet (table, vue, etc.), on utilise la commande SQL :
DESCRIBE nom_objet
Par exemple :
DESCRIBE dictionary
Cette commande affiche les noms et types des colonnes de la table dictionary.
Recherche dans le dictionnaire avec un modèle
Pour trouver des tables du dictionnaire en fonction d’un critère, on utilise une requête avec un filtre sur le nom :
SELECT table_name, comments FROM dictionary
WHERE UPPER(table_name) LIKE UPPER('%log%');Cette requête retourne toutes les tables dont le nom contient "log", en ignorant la casse grâce à la fonction UPPER.
Le dictionnaire contient plus de 1000 tables et vues, il est donc conseillé d’éviter les requêtes du type SELECT * FROM dictionary pour des raisons de performance.
La table dict_columns permet de comprendre la signification des colonnes des tables du dictionnaire.
Travail pratique demandé
Après connexion à Oracle via sqlplus en tant qu’administrateur, plusieurs opérations sont à réaliser :
- Décrire la table DICT : utiliser
DESCRIBE DICTpour obtenir le schéma et expliquer le rôle de chaque attribut. - Étudier plusieurs tables ou vues : ALL_CATALOG, ALL_USERS, ALL_COL_COMMENTS, ALL_CONSTRAINTS, ALL_TAB_PRIVS. Comprendre leur rôle et structure. En cas de doute sur un attribut, consulter ALL_COL_COMMENTS.
- Identifier les types d’objets reconnus par Oracle : l’attribut
TABLE_TYPEindique les types tels que tables, vues, synonymes, séquences. Chaque type correspond à une table spécifique : ALL_TABLES, ALL_VIEWS, ALL_SYNONYMS, ALL_SEQUENCES. - Décrire la table USER_USERS : connaître la structure et identifier votre nom d’utilisateur Oracle.
- Interroger les vues V$ : pour obtenir des informations sur l’instance Oracle (nom, version, machine, état) via
V$INSTANCE, sur la base (nom, mode d’ouverture) viaV$DATABASE, sur les paramètres avecV$PARAMETERou la commandeSHOW PARAMETER. - Identifier les fichiers de contrôle : noms et emplacements via
V$LOGFILE. - Identifier les fichiers du journal des modifications (redo log) : noms et emplacements.
- Lister les espaces de stockage (tablespaces) : noms et numéros.
- Lister les fichiers de données (datafiles) : noms, emplacements et taille des blocs via
V$DATAFILE. - Identifier l’espace de stockage associé à chaque fichier de données.
- Créer un tablespace : un espace de stockage avec un seul fichier de 2 Mo et une clause de stockage par défaut pour tous ses objets.
- Vérifier la création du tablespace.
- Créer un tablespace temporaire : avec un seul fichier de 2 Mo, en utilisant
CREATE TEMPORARY TABLESPACEouCREATE TABLESPACE ... TEMPORARY DATAFILE. - Vérifier la création du tablespace temporaire.
- Se déconnecter puis reconnecter : vérifier les espaces de stockage existants et expliquer leur présence.
- Supprimer les objets créés : utiliser
DROP TABLESPACE ... INCLUDING CONTENTS AND DATAFILESet vérifier la suppression.
Exemple pratique : recherche de tables liées au journal
Pour trouver toutes les tables du dictionnaire ayant un rapport avec le journal (log), on exécute :
SELECT table_name, comments FROM dictionary
WHERE UPPER(table_name) LIKE UPPER('%log%');
Cette requête affiche les noms et commentaires des tables contenant "log" dans leur nom, sans tenir compte de la casse.
Glossaire des termes clés
- Dictionnaire de données : structure centralisée contenant la description de tous les objets gérés par Oracle.
- Méta-base : base de données contenant les métadonnées, ici le dictionnaire de données.
- Vues USER_* : vues relatives aux objets appartenant à un utilisateur.
- Vues ALL_* : vues relatives aux objets accessibles à un utilisateur.
- Vues DBA_* : vues réservées aux administrateurs de la base.
- Vues V$* : vues dynamiques fournissant des informations sur les performances et l’état de la base.
- Tablespace : espace de stockage logique regroupant des fichiers physiques de données.
- Datafile : fichier physique contenant les données d’un tablespace.
- Redo log : journal des modifications enregistrées pour assurer la récupération.
- Commande DESCRIBE : commande SQL permettant d’afficher la structure d’un objet.
Points clés à retenir
- Le dictionnaire de données Oracle est une méta-base accessible en lecture via SQL.
- Les tables du dictionnaire sont souvent cryptées, mais leur contenu est accessible via des vues spécifiques.
- Les vues USER_*, ALL_*, DBA_* et V$* permettent d’accéder à différentes catégories d’informations.
- La commande DESCRIBE est essentielle pour comprendre la structure des objets du dictionnaire.
- Les requêtes sur le dictionnaire doivent utiliser des filtres précis pour éviter des résultats trop volumineux.
- Les tablespaces et fichiers associés sont gérés et consultables via les vues V$.
- La création et suppression d’espaces de stockage sont des opérations courantes en administration Oracle.
Commentaires
Aucun commentaire pour le moment. Posez la première question.