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