• Nenhum resultado encontrado

DICIONÁRIO DE DADOS. Contém detalhes dos objetos pertencentes ao usuário.

N/A
N/A
Protected

Academic year: 2021

Share "DICIONÁRIO DE DADOS. Contém detalhes dos objetos pertencentes ao usuário."

Copied!
9
0
0

Texto

(1)

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 privilégios 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.

(2)

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;

(3)

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.

(4)

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;

(5)

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

(6)

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

SELECT * FROM user_col_privs_made;

REVISÃO DOS COMANDOS. 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;

(7)

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;

A visão DICTIONARY é especialmente interessante por que contém a lista de visões que formam o próprio dicionário de dados. Ou seja, seria o meta-meta-esquema de dados. A consulta abaixo retorna o número de visões para certos grupos de informações.

(8)

SELECT

CASE WHEN SUBSTR(TABLE_NAME, 1, 5) = 'USER_' THEN 'USER_' WHEN SUBSTR(TABLE_NAME, 1, 4) = 'ALL_' THEN 'ALL_' WHEN SUBSTR(TABLE_NAME, 1, 4) = 'DBA_' THEN 'DBA_' WHEN SUBSTR(TABLE_NAME, 1, 3) = 'V_$' THEN 'V_$' WHEN SUBSTR(TABLE_NAME, 1, 2) = 'V$' THEN 'V$' WHEN SUBSTR(TABLE_NAME, 1, 4) = 'GV_$' THEN 'GV_$' WHEN SUBSTR(TABLE_NAME, 1, 3) = 'GV$' THEN 'GV$' ELSE 'Others'

END PREFIX , COUNT(*)

FROM DICTIONARY GROUP BY

CASE WHEN SUBSTR(TABLE_NAME, 1, 5) = 'USER_' THEN 'USER_' WHEN SUBSTR(TABLE_NAME, 1, 4) = 'ALL_' THEN 'ALL_' WHEN SUBSTR(TABLE_NAME, 1, 4) = 'DBA_' THEN 'DBA_' WHEN SUBSTR(TABLE_NAME, 1, 3) = 'V_$' THEN 'V_$' WHEN SUBSTR(TABLE_NAME, 1, 2) = 'V$' THEN 'V$' WHEN SUBSTR(TABLE_NAME, 1, 4) = 'GV_$' THEN 'GV_$' WHEN SUBSTR(TABLE_NAME, 1, 3) = 'GV$' THEN 'GV$' ELSE 'Others'

END;

O número de visões em cada grupo pode variar dependendo da versão de Oracle instalada. Os números abaixo correspondem ao Oracle 11g XE que estou utilizando.

Prefix Count(*) Descrição

USER_ 361 Objetos pertencentes ao usuário corrente. DBA_ 703 Todos objetos na base de dados.

ALL_ 339 Objetos que o usuário corrente tem privilégios de acesso, seja no seu esquema ou em outro.

V$ 618 Informações dinâmicas de desempenho.

GV$ 491 Informações de desempenho global do sistema, especialmente úteis em RACs.

Others 39 Variados usos

Caso você não se lembre-se do nome de determinadas visões do dicionário de dados, você pode utilizar a visão DICTIONARY e escrever consultas como SELECT * FROM DICTIONARY WHERE TABLE_NAME LIKE '%INDEX%'. Afinal, ninguém é obrigado a lembrar o nome de 2000 visões, mas certamente é muito útil ter certo conhecimento do dicionário de dados.

Links e fontes de pesquisa

(9)

http://aprenderoracle.com/2011/05/dicionario-de-dados/ http://www.tutoriaisclube.com/abrir.php?tutorial=309

Referências

Documentos relacionados

A exposição despertou o maior interesse, não só pela maneira criteriosa e acessível como vinha organizada, mas também por ter sido para o grande público a

Deve ser usada quando existe prejuízo severo e invasivo no desenvolvimento da interação social recirpoca ou de habilidades comunicacionais verbais e não verbais,

Esta tecla permite a visualização da relação de ligações que foram originadas, além de auxiliar na execução dos procedimentos para apagar números na memória e ajustar hora..

Equipa (desde 2002) Nuno Graça Moura Ricardo Tedim João Borges Bruno Guimarães Luísa Rosas Vicente Brito Cátia Bernardo Rita Machado Sofia Ferreira da Silva Carlos Castro

O objetivo do artigo é propor um mecanismo de inovação na construção civil, por meio de uma proposta de alternativa para o Telhado Convencional, substituindo por Telhado Verde, e

Essa é a expectativa de Ricar- do Claus Candido, um dos di- retores da Winner, para o tor- neio que terá jogos durante a próxima semana.. As inscrições podem ser feitas até hoje (30)

optou-se por conduzir as entrevistas de forma que se realizassem ligações diretas na seqüência A-C- V e através deste procedimento a pesquisadora eliminou o surgimento de

O estudo de Jean Piaget sobre o desenvolvimento da psicogênese do conhecimento humano é apenas um dos exemplos que demonstra a impertinência do descaso para com a infância e de como