sql >> Databáze >  >> RDS >> Oracle

Jak vypsat všechny tabulky v Oracle

DBA nebo vývojáři často potřebují vypsat různé tabulky v oracle. Vyžadovali by vypsat všechny tabulky v Oracle pro účely auditu a zabezpečení. Někdy chtějí vypsat všechny tabulky v konkrétním tabulkovém prostoru nebo konkrétním schématu nebo někdy vypsat všechny tabulky, které byly vytvořeny nedávno. To vše bychom ukázali v tomto příspěvku.

Všechny informace o tabulkách a sloupcích v databázi Oracle jsou uloženy v tabulkách SYS.TAB$ a SYS.COL$. Společnost Oracle poskytla zobrazení datového slovníku pro získání informací o tabulkách a sloupcích.

Existují tři kategorie zhlédnutí

Veškeré výpisy tabulek lze provést z výše uvedených zobrazení slovníku.

Chcete-li zobrazit seznam všech tabulek vlastněných aktuálním uživatelem/oracle, zobrazte tabulky

select tablespace_name, table_name from user_tables; 

Lidé obeznámení s databází MySQL budou vědět, že k výpisu tabulek v MySQL používáme show tables. Výše uvedený dotaz je tedy v podstatě tabulkami Oracle show v databázi Oracle

Vypsat všechny tabulky v databázi Oracle/ zobrazit všechny tabulky v oracle

select owner,table_name,tablespace_name, from dba_tables;

Chcete-li zobrazit seznam všech tabulek přístupných aktuálnímu uživateli

 select owner, tablespace_name, table_name from all_tables;

Získejte seznam tabulek ve schématu v Oracle/oracle zobrazit tabulky ve schématu

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

Dotaz na tabulky seznamů Oracle v tabulkovém prostoru

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

jak najít schéma tabulky v 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');

Jak najít datum vytvoření tabulky v 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',
/

Jak najít nedávno vytvořený seznam tabulek

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

Seznam všech tabulek v databázi Oracle podle názvu sloupce

Někdy při analýze schématu, tj. vztahů mezi různými tabulkami, potřebujeme najít všechny tabulky, které mají stejné názvy sloupců. Níže uvedený dotaz vám může pomoci. Pohled můžeme použít podle grantů, které máme v ruce

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

Můžeme mnohem více dotazů sestavit stejným způsobem podle potřeby. Dotazy, které jsem uvedl výše, jsou nejčastěji kladené a nejčastěji používané. Pokud chcete do seznamu zahrnout další dotazy, které lidem pomohou v plnění úkolů, dejte mi prosím vědět.

Související články

jak najít indexy v tabulce v oracle
statistiky objektů jsou uzamčeny
Dotaz na kontrolu velikosti tabulky v Oracle
Jak zkontrolovat tabulkový prostor v Oracle
Odkaz na All_Tables z dokumentace Oracle


  1. Agregovat řádky v SQL příkazu Oracle

  2. Agregát Oracle pro spojování řetězců čárkou a o psaní vlastních agregátů

  3. Konvence pojmenování PostgreSQL

  4. Získejte ID z podmíněného INSERT