Trois vues permettent d'obtenir des informations sur les tables de votre base :
- DBA_TABLES
- ALL_TABLES
- USER_TABLES
DBA_TABLES liste toutes les tables de tous les schémas
ALL_TABLES liste toutes les tables que l'utilisateur peut voir (les tables de son schéma plus celles des autres schémas dans lesquels il possède des droits)
USER_TABLES liste les tables du schéma de l'utilisateur connecté
Les colonnes de la vue
DBA_TABLES sont les suivantes :
OWNER Schéma propriétaire de la table
TABLE_NAME Nom de la table
TABLESPACE_NAME Nom du tablespace de stockage de la table
CLUSTER_NAME Nom du cluster qui contient la table
IOT_NAME Nom de l'IOT à laquele se réfère la zone de débordement ou la table de correspondances
PCT_FREE Pourcentage minimum d'espace libre pour un bloc
PCT_USED Pourcentage minimum d'espace utilisé pour un bloc
INI_TRANS Nombre initial de transactions
MAX_TRANS Nombre maximum de transactions autorisées
INITIAL_EXTENT Taille du segment initial en octets
NEXT_EXTENT Taille du deuxième extent en octets
MIN_EXTENTS Nombre minimum d'extents alloués dans le segment
MAX_EXTENTS Nombre maximum d'extents alloués dans le segment
PCT_INCREASE Pourcentage d'augmentation des nouveaux extents créés
FREELISTS Nombre de freelists allouées pour le segment
FREELIST_GROUPS Nombre de groupes de freelists allouées pour le segment
LOGGING Attribut de logging
BACKED_UP Indique si la table a été sauvegardée depuis la dernière modification
NUM_ROWS Nombre de lignes de la table (*)
BLOCKS Nombre de blocs utilisés pour la table
EMPTY_BLOCKS Nombre de blocs vide (jamais utilisés) pour la table
AVG_SPACE Valeur moyenne de l'espace libre pour la table (en nombre de lignes) (*)
CHAIN_CNT Nombre de lignes chaînées pour la table (*)
AVG_ROW_LEN Longueur moyenne d'une ligne (incluant l'entête) (*)
AVG_SPACE_FREELIST_BLOCKS Valeur moyenne de l'espace libre de tous les blocs dans une freelist (*)
NUM_FREELIST_BLOCKS Nombre de blocs dans la freelist
DEGREE Nombre de processus par instance
INSTANCES Nombre d'instances à travers lesquelles la table est scannée
CACHE Indique si la table est chargée en cache
TABLE_LOCK Indique si le verouillage de table est activé ou désactivé
SAMPLE_SIZE Valeur de l'échantillon utilisé pour analyser la table
LAST_ANALYZED Date de la dernière analyse de la table
PARTITIONED Indique si la table est partitionnée
IOT_TYPE Indique le type d'objet d'une table organisée en index (Préfixe, zone de débordement ou table de correspondance (MAPPING TABLE)
TEMPORARY Indique si la session courante peut voir les données insérées
SECONDARY Indique si la table fait partie de la création d'un index de domaine
NESTED Indique s'il s'agit d'une table imbriquée
BUFFER_POOL Buffer pool par défaut de chargement des blocs
ROW_MOVEMENT Indique si le déplacement des lignes partitionnées est activé ou désactivé
GLOBAL_STATS Indique si les statistiques ont été calculées sans fusion des partitions sous-jacentes
USER_STATS Indique si les statistiques ont été saisies directement par l'utilisateur
DURATION Persistance des données d'une table temporaire (sys$session oo sys$transaction)
SKIP_CORRUPT Indique si le contournement des blocs endommagés est activé ou désactivé
MONITORING Indique si le traçage est activé
CLUSTER_OWNER Propriétaire du cluster
DEPENDENCIES Indique si le traçage des dépendances de niveau ligne est activé
COMPRESSION Indique si la compression de données est activée ou désactivée
(*) ne prenez par comme argent comptant la valeur de ces colonnes, particulièrement NUM_ROWS.
En effet ces colonnes ne sont (re)valorisées qu'après analyse de la table.
Utilisez donc ces valeurs à bon escient.
Si votre système analyse vos tables chaque nuit, par exemple, ces valeurs peuvent sans crainte vous donner une bonne indication de la volumétrie de vos tables, sans exécuter la gourmande instruction : SELECT COUNT(*).