Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment répertorier toutes les tables dans Oracle

Les DBA ou le développeur ont souvent besoin de répertorier diverses tables dans Oracle. Ils auraient besoin de répertorier toutes les tables dans Oracle à des fins d'audit et de sécurité. Parfois, ils souhaitent répertorier toutes les tables d'un espace de table ou d'un schéma particulier ou parfois répertorier toutes les tables créées récemment. Nous montrerions tout cela dans ce post.

Toutes les informations sur les tables et les colonnes de la base de données Oracle sont stockées dans les tables SYS.TAB$ et SYS.COL$. Oracle a fourni des vues de dictionnaire de données pour obtenir des informations sur les tables et les colonnes.

Il existe trois catégories de vues

Toute la liste des tables peut être effectuée à partir des vues de dictionnaire ci-dessus.

Pour lister toutes les tables appartenant à l'utilisateur actuel/oracle show tables

select tablespace_name, table_name from user_tables; 

Les personnes familiarisées avec la base de données MySQL sauront que nous utilisons des tables d'affichage pour répertorier les tables dans MySQL. Donc, la requête ci-dessus est essentiellement les tables d'affichage oracle dans la base de données oracle

Pour répertorier toutes les tables d'une base de données Oracle/afficher toutes les tables d'oracle

select owner,table_name,tablespace_name, from dba_tables;

Pour lister toutes les tables accessibles à l'utilisateur courant

 select owner, tablespace_name, table_name from all_tables;

Obtenir la liste des tables dans un schéma dans Oracle/oracle afficher les tables dans le schéma

select owner, tablespace_name, table_name from dba_tables where owner='&schema';

Requête pour les tables de liste Oracle dans le tablespace

select owner, tablespace_name, table_name from dba_tables where tablespace_name='&tablespace_name';

comment trouver le schéma d'une table dans oracle

set lines 140 pages 1000
col table_name for a30
col owner for a7
select owner,table_name,initial_extent,ini_trans,freelists from dba_tables where table_name=upper('&tab_name');

Comment trouver la date de création d'une table dans oracle

select owner,object_name,object_type,status,
to_char(last_ddl_time,'DD-MON-YY HH24:MI:SS') DDL_TIME,to_char(created,'DD-MON-YY HH24:MI:SS') CR_DATE
from dba_objects
where object_name =upper('&obj_name') and owner='&OWN' and object_type='TABLE',
/

Comment trouver une liste de tables récemment créée

select owner,object_name,object_type,status,
to_char(last_ddl_time,'DD-MON-YY HH24:MI:SS') DDL_TIME,to_char(created,'DD-MON-YY HH24:MI:SS') CR_DATE
from dba_objects
where created > sysdate -7 and  object_type='TABLE'
/

Répertorier toutes les tables d'une base de données Oracle par nom de colonne

Parfois, lors de l'analyse du schéma, c'est-à-dire des relations entre les différentes tables, nous devons trouver toutes les tables qui ont les mêmes noms de colonne. La requête ci-dessous peut être utilisée pour vous aider. Nous pouvons utiliser la vue en fonction des subventions que nous avons en main

select owner,table_name from all_tab_columns where column_name = '&col_name';
 or
 select owner, table_name from dba_tab_columns where column_name = '&col_name';

Nous pouvons construire beaucoup plus de requêtes de la même manière selon les besoins. Les requêtes que j'ai présentées ci-dessus sont les plus demandées et les plus utilisées. Veuillez me faire savoir si vous souhaitez inclure d'autres requêtes dans la liste qui aideront les gens dans les tâches.

Articles connexes

comment trouver des index sur une table dans oracle
les statistiques d'objet sont verrouillées
Requête pour vérifier la taille de la table dans Oracle
Comment vérifier l'espace de table dans Oracle
Référence All_Tables de la documentation Oracle