DBA или разработчикът често трябва да изброяват различни таблици в oracle. Те ще изискват да изброят всички таблици в Oracle за целите на одита и сигурността. Понякога те искат да изброят всички таблици в определено пространство за таблици или конкретна схема или понякога да изброят всички таблици, които са създадени наскоро. Ще покажем всичко това в тази публикация.
Цялата информация за таблицата и колоната в базата данни на Oracle се съхранява в таблици SYS.TAB$ и SYS.COL$. Oracle предостави изгледи на речник с данни, за да получите информация за таблици и колони.
Има три категории изгледи
Цялото изброяване на таблиците може да се направи от горните изгледи на речника.
За изброяване на всички таблици, притежавани от текущия потребител/оракул, показване на таблици
select tablespace_name, table_name from user_tables;
Хората, запознати с базата данни на MySQL, ще знаят, че ние използваме show tables, за да изброим таблиците в MySQL. Така че горната заявка е основно таблиците за показване на oracle в базата данни на oracle
За изброяване на всички таблици в база данни на Oracle/ показване на всички таблици в oracle
select owner,table_name,tablespace_name, from dba_tables;
За да изброите всички таблици, достъпни за текущия потребител
select owner, tablespace_name, table_name from all_tables;
Вземете списъка с таблици в схема в Oracle/oracle, покажи таблици в схемата
select owner, tablespace_name, table_name from dba_tables where owner='&schema';
Запитване за таблици със списъци на оракул в пространството за таблици
select owner, tablespace_name, table_name from dba_tables where tablespace_name='&tablespace_name';
как да намерите схемата на таблица в 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');
Как да намеря датата на създаване на таблица в 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', /
Как да намерите наскоро създаден списък с таблици
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' /
Избройте всички таблици в база данни на Oracle по име на колона
Понякога, когато правим анализ на схемата, т.е. връзките между различните таблици, трябва да намерим всички таблици, които имат еднакви имена на колони. Запитването по-долу може да се използва за помощ в това. Можем да използваме изгледа според предоставените ни субсидии
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';
Можем много повече заявки, изградени по същия начин според нуждите. Запитванията, които представих по-горе, са най-задаваните и най-често използвани. Моля, уведомете ме, ако искате да включите още заявки в списъка, които ще помогнат на хората в задачите.
Сродни статии
как да намерите индекси на таблица в Oracle
статистическите данни за обекти са заключени
Запитване за проверка на размера на таблицата в Oracle
Как да проверите пространството за таблици в Oracle
Препратка към All_Tables от документацията на Oracle