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.
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;