Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como listar todas as tabelas no Oracle


DBA's ou o desenvolvedor geralmente precisam listar várias tabelas no oracle. Eles exigiriam listar todas as tabelas no Oracle para fins de auditoria e segurança. Às vezes, eles desejam listar todas as tabelas em um determinado espaço de tabela ou esquema específico ou, às vezes, listar todas as tabelas criadas recentemente. Estaríamos mostrando tudo isso neste post.

Todas as informações de tabela e coluna no banco de dados Oracle são armazenadas nas tabelas SYS.TAB$ e SYS.COL$. A Oracle forneceu visualizações de dicionário de dados para obter informações sobre tabelas e colunas.

Existem três categorias de visualizações

Toda a listagem das tabelas pode ser feita a partir das visualizações de dicionário acima.

Para listar todas as tabelas pertencentes ao usuário/oráculo atual, mostre as tabelas

select tablespace_name, table_name from user_tables; 

As pessoas familiarizadas com o banco de dados MySQL saberão que usamos show tables para listar as tabelas no MySQL. Portanto, a consulta acima é basicamente as tabelas de exibição do oracle no banco de dados oracle

Para listar todas as tabelas em um banco de dados Oracle/mostrar todas as tabelas no Oracle

select owner,table_name,tablespace_name, from dba_tables;

Para listar todas as tabelas acessíveis ao usuário atual

 select owner, tablespace_name, table_name from all_tables;

Obtenha a lista de tabelas em um esquema no Oracle/oracle mostre as tabelas no esquema

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

Consultar tabelas de listas do Oracle no tablespace

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

como encontrar o esquema de uma tabela no 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');

Como encontrar a data de criação de uma tabela no 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',
/

Como encontrar uma lista de tabelas criada recentemente

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

Listar todas as tabelas em um banco de dados Oracle por nome de coluna


Às vezes, ao fazer a análise do esquema, ou seja, as relações entre as várias tabelas, precisamos encontrar todas as tabelas que possuem os mesmos nomes de coluna. A consulta abaixo pode ser usada para ajudar nisso. Podemos usar a visão de acordo com as concessões que temos em mãos
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';

Podemos muitas outras consultas construídas da mesma maneira conforme a necessidade. As consultas que apresentei acima são as mais solicitadas e as mais usadas. Por favor, deixe-me saber se você deseja incluir mais consultas na lista que ajudarão as pessoas nas tarefas.

Artigos relacionados

como encontrar índices em uma tabela no Oracle
estatísticas de objetos estão bloqueadas
Consulta para verificar o tamanho da tabela no Oracle
Como verificar o Tablespace no Oracle
All_Tables referência da documentação do Oracle