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