sql >> Databasteknik >  >> RDS >> Oracle

Hur man listar alla tabeller i Oracle

DBA:er eller utvecklaren behöver ofta lista olika tabeller i Oracle. De skulle behöva lista alla tabeller i Oracle för revisions- och säkerhetsändamål. Ibland vill de lista alla tabeller i ett visst tabellutrymme eller särskilt schema eller ibland lista alla tabeller som nyligen skapats. Vi skulle visa alla dessa i det här inlägget.

All tabell- och kolumninformation i Oracle-databasen lagras i tabellerna SYS.TAB$ och SYS.COL$. Oracle har tillhandahållit dataordbokvyer för att få information om tabeller och kolumner.

Det finns tre kategorier av vyer

All listning av tabellerna kan göras från ovanstående ordboksvyer.

För att lista alla tabeller som ägs av den aktuella användaren/oracle show-tabeller

select tablespace_name, table_name from user_tables; 

Personer som är bekanta med MySQL-databasen vet att vi använder show-tabeller för att lista tabellerna i MySQL. Så ovanstående fråga är i princip oracle show-tabeller i oracle-databasen

Att lista alla tabeller i en Oracle-databas/ visa alla tabeller i Oracle

select owner,table_name,tablespace_name, from dba_tables;

För att lista alla tabeller som är tillgängliga för den aktuella användaren

 select owner, tablespace_name, table_name from all_tables;

Hämta listan över tabeller i ett schema i Oracle/oracle visa tabeller i schemat

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

Fråga efter orakellisttabeller i tabellutrymmet

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

hur man hittar schemat för en tabell i 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');

Hur du hittar datumet för skapande av en tabell i 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',
/

Hur man hittar en nyligen skapad lista med tabeller

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

Lista alla tabeller i en Oracle-databas efter kolumnnamn

Ibland när vi gör analysen av schemat, dvs relationer mellan de olika tabellerna, måste vi hitta alla tabeller som har samma kolumnnamn. Frågan nedan kan användas för att hjälpa till med detta. Vi kan använda synen enligt de bidrag vi har i handen

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

Vi kan många fler frågor byggda på samma sätt efter behov. Frågorna som jag har presenterat ovan är de mest ställda och de används oftast. Vänligen meddela mig om du vill inkludera fler frågor i listan som hjälper människor i uppgifterna.

Relaterade artiklar

hur man hittar index på en tabell i Oracle
objektstatistik är låst
Fråga för att kontrollera tabellstorlek i Oracle
Hur man kontrollerar Tablespace i Oracle
All_Tables-referens från Oracle-dokumentationen


  1. Hur aktiverar jag MySQL-klienten automatiskt återansluta med MySQLdb?

  2. Postgres släpptabell syntaxfel

  3. Hur FROM_BASE64() fungerar i MariaDB

  4. Ta bort förälder om den inte hänvisas till av något annat barn