O dicionário de dados do SGBD Oracle é um conjunto de tabelas e views, pertencentes ao usuário SYS com permissão apenas de leitura.
Essas tabelas armazenam informações sobre a estrutura do banco de dados como: nomes dos usuários do servidor Oracle, privilégios concedidos, os nomes de objetos do banco de dados, as constraints de tabelas e as informações de auditoria.
Existem quatro tipos de prefixos dessas tabelas, esses prefixos definem as características das informações que serão apresentados, são eles:
- USER_: Informações dos objetos pertencentes ao usuário que estiver logado no banco.
- ALL_: Informações dos objetos para os quais o usuário logado tem direitos de acesso e dos objetos pertencentes ao usuário.
- DBA_: Informações dos usuários com privilégios de DBA para acessar qualquer objeto do banco de dados.
- V$_: Informações sobre o desempenho ou bloqueio do servidor do banco de dados; disponível para os administradores do banco.
Para identificar as tabelas do dicionario é possível fazer uma busca na tabela dictionary, serão listadas apenas as tabelas que o usuário logado tem permissão de acesso.
Exemplo:
select * from dictionary
where table_name like 'V$%'
Retorno:
O dicionário de dados permite obter informações do banco de dados auxiliando em analises para tuning de querys e melhorias na sua base de dados.