Oracle Mostrar mesas

Oracle Mostrar mesas
Os bancos de dados relacionais compreendem vários objetos, cada um com informações e executando várias tarefas. Por exemplo, um dos objetos de banco de dados mais comuns é uma tabela ou objetos semelhantes à tabela, como visualizações.

Esses tipos de objetos são usados ​​para armazenar dados relacionados em um ponto de entrada específico para uso posterior. Por padrão, as tabelas armazenam informações básicas que os aplicativos de destino e usuários gerenciam. Por outro lado, as vistas mantêm um instantâneo específico de uma consulta de mesa, etc.

Ao trabalhar com bancos de dados relacionais, você encontrará instâncias em que deve buscar os metadados subjacentes armazenados em um banco de dados. Neste tutorial, abordaremos métodos básicos para determinar as tabelas de um determinado banco de dados Oracle.

Dicionários de dados do Oracle

Ao contrário de outros bancos de dados SQL, como MySQL ou PostgreSQL, o Oracle não possui um comando independente que permite recuperar as tabelas de um determinado banco de dados.

Para mostrar as tabelas de um determinado banco de dados, temos que usar as visualizações do Oracle Data Dictionary.

No Oracle, um dicionário de dados refere-se a uma coleção de visualizações somente leitura que armazenam informações sobre um determinado banco de dados, incluindo esquemas, permissões de usuário, eventos, etc.

Embora os dicionários de dados sejam somente leitura, podemos consultar as informações armazenadas nelas, incluindo as tabelas.

Vamos explorar e aprender como podemos trabalhar com dicionários de dados.

Oracle Show Tables de propriedade do usuário atual

O uso mais comum do comando Show Tables é listar as tabelas de propriedade do usuário atual.

Podemos usar uma consulta como mostrado:

Selecione Table_name de User_tables;

A consulta acima deve retornar todos os nomes de tabela de propriedade do usuário atual. Um exemplo de saída é como mostrado:

Oracle Show Tables acessível pelo usuário atual

Em alguns casos, você pode mostrar todas as tabelas acessíveis pelo usuário atual, apesar das permissões alocadas.

Nesse caso, podemos consultar o dicionário de dados All_Tables, como mostrado na declaração abaixo:

Selecione Table_name, proprietário de all_tables onde proprietário = 'hr' ordem por table_name, proprietário;

Esta solicitação lista todas as tabelas acessíveis pelo usuário atual, conforme mostrado na saída abaixo:

Oracle liste todas as tabelas

Em casos muito mínimos, pode ser necessário listar todas as vezes em todo o sistema. Para isso, você deve consultar o dicionário de dados DBA_TABLES.

É bom ter em mente que solicitar uma extensa coleção de dados com um parâmetro de classificação pode ter um desempenho colossal em incurência. Use -o com cautela.

Selecione Table_name, proprietário de dba_tables;

Isso deve despejar todas as tabelas no sistema, conforme mostrado na saída de amostra abaixo:

Em alguns casos, você pode receber um erro como:

[42000] [942] ORA-00942: Tabela ou exibição não existe
Posição: 30

Se isso acontecer, pode ser necessário entrar em contato com o administrador do banco de dados para conceder permissões no dicionário DBA_TABLES, selecione qualquer permissão de dicionário ou select_catalog_role.

Conclusão

Nesta postagem, você aprendeu vários métodos e técnicas para listar as tabelas no servidor Oracle. Por exemplo, você aprendeu a listar as tabelas, tabelas DBA, etc.