terça-feira, 6 de dezembro de 2016

DICIONÁRIO DE DADOS
DICIONÁRIO DE DADOS
Podemos dizer que dicionário de dados, é um conjuto de tabelas e views somente leitura, utilizado pelo banco de dados Oracle. Este conjunto é criado e mantido pelo Oracle e contém informações sobre o banco de dados, o dicionário de dados é estruturado em tabelas e views, da mesma forma que outros dados do banco. O dicionário de dados é uma importante ferramenta para todos os usuários, desde usuários finais até os desenvolvedores, inclusive os DBA’s. Para acessar o dicionário de dados, é utilizado as instruções de SQL, como dito acima, é somente leitura, então, só vamos conseguir usar o SELECT.  Todas as tabelas pertecem ao usuário SYS.
Que informações vamos encontrar na nas views de dicionário ?
As informações armazenadas no dicionário de dados incluem os nomes dos usuários do servidor Oracle, os privilegios concedidos aos usuários, os nomes dos objetos do banco de dados, as constraints de tabelas e as informações de auditoria. Há quatro categorias de views de dicionário de dados. Cada categoria possui um prefixo distinto que flete o uso pretendido.
Prefixo
Significado
USER_
Contém detalhes dos objetos pertencentes ao usuário.
ALL_
Contém detalhes dos objetos para os quais o usuário ganhou direitos de acesso e dos objetos pertencentes ao usuário.
DBA_
Contém detalhes dos usuários com privilégios de DBA para acessar qualquer objeto do banco de dados.
V$_
Armazena informações sobre o desempenho ou bloqueio do servidor do banco de dados; disponível para os administradores do banco.

Vejamos algumas views mais utilizadas:
Antes de começarmos a ver as tabelas do dicionário, podemos ver como elas se encontram dentro da tabela dicionário.

Select * from dictionary;

USER_TABLES: Exibe a descrição de todas as tabelas do usuário.
Select * from user_tables;

ALL_TABLES: Exibe a descrição de todas as tabelas do usuário e as que foram concedidas a ele, mesmo ele não sendo o owner.
SELECT * FROM all_tables;

USER_OBJECTS: Exibe todos os objetos pertencentes ao seu usuário.
SELECT * FROM user_objects;

ALL_OBJECTS: Exibe todos os objetos que pertencem ao usuário e aos quais tem acesso.
SELECT * FROM all_objects;

USER_TAB_COLUMNS: Você obter informações detalhadas sobre as colunas das suas tabelas. No qual, você é o dono.
SELECT * FROM user_tab_columns;

USER_CONSTRAINTS: Exibe as definições de constrainsts nas tabelas, pertencentes a seu usuário.
SELECT * FROM user_constraints;

USER_CONS_COLUMNS: Exibe as definições de constraints nas colunas das tabelas, pertencentes ao seu usuário
SELECT * FROM user_cons_columns;

USER_VIEWS: Exibe as views pertencentes ao seu usuário.
SELECT * FROM user_views;

USER_SEQUENCES: Exibe informações das sequences criadas, pelo seu usuário.
SELECT * FROM user_sequences;

USER_SYNONYMS: Exibe os synonyms pertencentes ao seu usuário.
SELECT * FROM user_synonyms;

USER_TAB_PRIVS_MADE: Exibe todas as conexões feitas aos objetos pertencentes ao usuário
SELECT * FROM user_tab_privs_made;

USER_COL_PRIVS_MADE: Exibe todas as concessões feitas às colunas de objetos pertencentes ao usuário.
SELECT * FROM user_col_privs_made;