DBA'er eller udvikleren har ofte brug for at liste forskellige tabeller i oracle. De ville kræve at liste alle tabeller i Oracle til revisions- og sikkerhedsformål. Nogle gange ønsker de at liste alle tabeller i et bestemt tablespace eller bestemt skema eller nogle gange for at liste alle de tabeller, der er oprettet for nylig. Vi vil vise alle disse i dette indlæg.
Alle tabel- og kolonneoplysninger i Oracle-databasen er gemt i SYS.TAB$- og SYS.COL$-tabeller. Oracle har leveret dataordbogsvisninger for at få oplysninger om tabeller og kolonner.
Der er tre kategorier af visninger
Al oversigt over tabellerne kan udføres fra ovenstående ordbogsvisninger.
At liste alle tabeller, der ejes af den aktuelle bruger/oracle show-tabeller
select tablespace_name, table_name from user_tables;
Folk, der er bekendt med MySQL-databasen, vil vide, at vi bruger show-tabeller til at liste tabellerne i MySQL. Så ovenstående forespørgsel er dybest set oracle show-tabellerne i oracle-databasen
At vise alle tabeller i en Oracle-database/vise alle tabeller i Oracle
select owner,table_name,tablespace_name, from dba_tables;
At liste alle tabeller, der er tilgængelige for den aktuelle bruger
select owner, tablespace_name, table_name from all_tables;
Få listen over tabeller i et skema i Oracle/oracle vis tabeller i skemaet
select owner, tablespace_name, table_name from dba_tables where owner='&schema';
Forespørgsel efter orakellistetabeller i tablespace
select owner, tablespace_name, table_name from dba_tables where tablespace_name='&tablespace_name';
hvordan man finder skemaet for en tabel 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');
Sådan finder du oprettelsesdatoen for en tabel 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', /
Sådan finder du en nyligt oprettet liste over 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' /
Vis alle tabeller i en Oracle-database efter kolonnenavn
Nogle gange skal vi, når vi analyserer skemaet, dvs. relationer mellem de forskellige tabeller, finde alle de tabeller, der har de samme kolonnenavne. Nedenstående forespørgsel kan bruges til at hjælpe med dette. Vi kan bruge udsigten efter de bevillinger, vi har i hånden
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 mange flere forespørgsler bygget på samme måde efter behov. De forespørgsler, som jeg har præsenteret ovenfor, er de mest stillede, og de bruges oftest. Lad mig venligst vide, hvis du vil inkludere flere forespørgsler på listen, som vil hjælpe folk i opgaverne.
Relaterede artikler
hvordan man finder indekser på en tabel i Oracle
objektstatistik er låst
Forespørgsel for at kontrollere tabelstørrelse i Oracle
Sådan tjekker man Tablespace i Oracle
All_Tables reference fra Oracle-dokumentation