Oracle
 sql >> Database >  >> RDS >> Oracle

Come elencare tutte le tabelle in Oracle

I DBA o lo sviluppatore hanno spesso bisogno di elencare varie tabelle in Oracle. Avrebbero bisogno di elencare tutte le tabelle in Oracle per scopi di controllo e sicurezza. A volte vogliono elencare tutte le tabelle in un particolare tablespace o schema particolare o talvolta elencare tutte le tabelle create di recente. Mostreremmo tutto questo in questo post.

Tutte le informazioni su tabelle e colonne nel database Oracle sono archiviate nelle tabelle SYS.TAB$ e SYS.COL$. Oracle ha fornito viste del dizionario dei dati per ottenere informazioni su tabelle e colonne.

Esistono tre categorie di viste

Tutto l'elenco delle tabelle può essere fatto dalle viste del dizionario sopra.

Per elencare tutte le tabelle di proprietà dell'utente corrente/oracle mostra le tabelle

select tablespace_name, table_name from user_tables; 

Le persone che hanno familiarità con il database MySQL sapranno che usiamo le tabelle di visualizzazione per elencare le tabelle in MySQL. Quindi la query sopra è fondamentalmente le tabelle di Oracle Show nel database di Oracle

Elencare tutte le tabelle in un database Oracle/ mostrare tutte le tabelle in Oracle

select owner,table_name,tablespace_name, from dba_tables;

Per elencare tutte le tabelle accessibili all'utente corrente

 select owner, tablespace_name, table_name from all_tables;

Ottieni l'elenco delle tabelle in uno schema in Oracle/oracle mostra le tabelle nello schema

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

Query per le tabelle dell'elenco Oracle nel tablespace

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

come trovare lo schema di una tabella in 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');

Come trovare la data di creazione di una tabella in 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',
/

Come trovare un elenco di tabelle creato di recente

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'
/

Elenca tutte le tabelle in un database Oracle in base al nome della colonna

A volte quando si esegue l'analisi dello schema, ovvero le relazioni tra le varie tabelle, è necessario trovare tutte le tabelle che hanno lo stesso nome di colonna. La query seguente può essere utilizzata per aiutare in questo. Possiamo utilizzare la vista in base alle sovvenzioni che abbiamo in mano

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';

Possiamo molte più query costruite nello stesso modo secondo la necessità. Le domande che ho presentato sopra sono le più poste e vengono utilizzate più spesso. Per favore fatemi sapere se volete includere altre domande nell'elenco che aiuteranno le persone nelle attività.

Articoli correlati

come trovare gli indici su una tabella in Oracle
Le statistiche degli oggetti sono bloccate
Query per controllare le dimensioni della tabella in Oracle
Come controllare il tablespace in Oracle
Riferimento a All_Tables dalla documentazione di Oracle