Objectifs du chapitre
- Connaître la nature et le contenu du dictionnaire de données Oracle.
- Connaître la vue DICTIONARY.
- Connaître les principales vues USER_* : objets, tables, colonnes, contraintes, vues, séquences, synonymes.
- Connaître les vues dynamiques V$.
1. Le dictionnaire de données
Le dictionnaire de données Oracle est la description d’une base de données. Il contient le nom et les attributs de tous les objets de la base, et il est mis à jour à chaque création ou modification d’un objet.
Il est créé en même temps que la base de données et appartient à l’utilisateur SYS. Les informations du dictionnaire sont stockées dans des tables de base, mais vous n’y avez pas d’accès direct : vous y accédez par le biais de vues prédéfinies.
2. Vue DICTIONARY
Cette vue contient le nom et la description des tables et vues du dictionnaire.
DESCRIBE DICTIONARY
SELECT *
FROM dictionary
WHERE table_name = 'USER_OBJECTS';
3. Vue USER_OBJECTS
Décrit tous les objets dont vous êtes propriétaire. Permet d’afficher facilement le nom et le type de tous les objets de votre schéma, ainsi que leur date de création, leur date de dernière modification et leur statut (valide ou non valide). La vue ALL_OBJECTS affiche, elle, tous les objets auxquels vous avez accès.
SELECT object_name, object_type, created, status
FROM user_objects
ORDER BY object_type;
4. Vue USER_TABLES
Contient les informations relatives aux tables dont vous êtes propriétaire.
5. Vue USER_TAB_COLUMNS
Contient les informations relatives aux colonnes des tables dont vous êtes propriétaire.
SELECT column_name, data_type, data_length,
data_precision, data_scale, nullable
FROM user_tab_columns
WHERE table_name = 'EMPLOYEES';
6. Vue USER_CONSTRAINTS
Décrit les définitions de contraintes sur les tables.
SELECT constraint_name, constraint_type,
search_condition, r_constraint_name,
delete_rule, status
FROM user_constraints
WHERE table_name = 'EMPLOYEES';
7. Vue USER_CONS_COLUMNS
Décrit les colonnes dont vous êtes propriétaire et qui sont définies dans des contraintes.
8. Vue USER_VIEWS
Contient les informations relatives aux vues dont vous êtes propriétaire.
9. Vue USER_SEQUENCES
Contient les informations relatives aux séquences dont vous êtes propriétaire. La colonne LAST_NUMBER affiche le prochain numéro de séquence disponible.
SELECT sequence_name, min_value, max_value,
increment_by, last_number
FROM user_sequences;
10. Vue USER_SYNONYMS
Contient les informations relatives aux synonymes dont vous êtes propriétaire.
11. Vues V$
Les vues dynamiques V$ enregistrent l’activité en cours de la base de données : elles sont constamment mises à jour lorsque la base de données est active, et leurs informations sont lues à partir de la mémoire et du fichier de contrôle. Elles commencent par le préfixe v$ et sont accessibles par un DBA.
| Vue | Rôle |
|---|---|
V$SESSION | Affiche les sessions en cours. |
V$LOGFILE | Affiche la liste des fichiers journaux. |
V$LOG | Affiche le statut des groupes de fichiers journaux. |