Dictionary

A view DICTIONARY tem apenas duas colunas que são a TABLE_NAME e COMMENTS. Veja uma simples query abaixo.

VIEW DICTIONARY

VIEW DICTIONARY

A quantidade de linhas do meu ambiente pode ser diferente do ambiente de testes de vocês, pois isso varia bastante. Vejam que mostrei apenas as 10 primeiras linhas do resultado, mas o resultado inteiro possui 3228 linhas.

Podemos fazer pesquisas na view dictionary para encontrar algo interessante, podemos fazer assim:

SELECT * FROM DICTIONARY WHERE UPPER(COMMENTS) LIKE '%PESQUISA%';

Assim podemos pesquisar por VIEWS ou SYNONYM e etc. Depois de encontrado o nome da tabela podemos conseguir mais informações fazendo o seguinte:

SELECT * FROM ALL_COL_COMMENTS WHERE TABLE_NAME = 'table_name';

Lembrando que dependendo da conta que está logado e dos seus privilégios o resultado pode variar. E talvez você não esteja interessado em objetos que não são seus, neste caso, existe duas views que pode lhe ajudar. A USER_CATALOG e a USER_OBJECTS.

A view USER_CATALOG, que tem um synonym chamado CAT, mostra todas as tabelas, views, synonyms e sequências do usuário. Veja um exemplo feito com o usuário HR.

USER_CATALOG

USER_CATALOG

Caso queria mais informações usem a view USER_OBJECTS, que tem um synonym chamado de OBJ. Vejam o DESC USER_OBJECTS abaixo:

Nome Nulo Tipo
—————– —- ————-
OBJECT_NAME VARCHAR2(128)
OBJECT_NAME VARCHAR2(128)
SUBOBJECT_NAME VARCHAR2(128)
SUBOBJECT_NAME VARCHAR2(128)
OBJECT_ID NUMBER
OBJECT_ID NUMBER
DATA_OBJECT_ID NUMBER
DATA_OBJECT_ID NUMBER
OBJECT_TYPE VARCHAR2(23)
OBJECT_TYPE VARCHAR2(23)
CREATED DATE
CREATED DATE
LAST_DDL_TIME DATE
LAST_DDL_TIME DATE
TIMESTAMP VARCHAR2(19)
TIMESTAMP VARCHAR2(19)
STATUS VARCHAR2(7)
STATUS VARCHAR2(7)
TEMPORARY VARCHAR2(1)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1)
SECONDARY VARCHAR2(1)
NAMESPACE NUMBER
NAMESPACE NUMBER
EDITION_NAME VARCHAR2(128)
EDITION_NAME VARCHAR2(128)
SHARING VARCHAR2(13)
SHARING VARCHAR2(13)
EDITIONABLE VARCHAR2(1)
EDITIONABLE VARCHAR2(1)
ORACLE_MAINTAINED VARCHAR2(1)
ORACLE_MAINTAINED VARCHAR2(1)

Mais uma tarefa que podemos fazer com o uso do dicionário é verificar views que estão inválidas devido a mudanças na estrutura da tabela na qual ela referencia. Vimos anteriormente como compilar uma view novamente. Agora vamos ver como verificar se existe essa necessidade listando as views que estão inválidas.

SELECT object_name
FROM USER_OBJECTS
WHERE status = 'INVALID' and object_type = 'VIEW';

Falando sobre view ainda, podemos verificar a query na qual foi utilizada para criar a view. Vamos ver um exemplo no schema do usuário HR, no qual é muito utilizado para testes e estudos. Nesta esquema já existe uma view chamado de EMP_DETAILS_VIEW. Para ver a query que originou essa view, poderão fazer o seguinte:

SELECT TEXT
FROM USER_VIEWS
WHERE VIEW_NAME = 'EMP_DETAILS_VIEW';

Para fainlizar esse post iremos descrever aqui algumas views de privileges(veremos sobre isso mais pra frente) e de constraints. Não iremos mostrar em detalhes essas views, pois o post iria ficar muito grande. Vejam e façam o teste por vocês mesmos, irá ajudar muito no aprendizado e memorização.

Privileges

  • USER_SYS_PRIVS – System privileges para o usuário atual
  • USER_TAB_PRIVS – Privilégios dados nos objetos do usuário.
  • ROLE_SYS_PRIVS – System privileges para roles
  • ROLE_TAB_PRIVS – Table privileges para roles
  • SESSION_PRIVS – Privilégios atuais para o usuário na sessão atual.
  • Constraints

    A view USER_CONSTRAINTS pode ser bem útil, podemos verificar todos os detalhes de nossas constraints. Veja mais um exemplo.

    USER_CONSTRAINTS

    USER_CONSTRAINTS

    Podemos verificar na imagem a coluna constraint_type, as siglas significam o seguinte:

  • P – PRIMARY KEY
  • R – FOREIGN KEY
  • U – UNIQUE
  • C – CHECK ou NOT NULL
  • Anúncios

    Meu nome é Tércio Costa, sou formado em Ciências da Computação pela UFPB, tenho a certificação Oracle SQL Expert, mantendo um blog reconhecido pela OTN(oraclepress.wordpress.com), no qual também publico artigos técnicos no portal OTN, no portal http://www.profissionaloracle.com.br/gpo e na revista SQL Magazine. Além de tudo isto sou um Oracle ACE Associate por estar sempre contribuindo para a comunidade com um bom nível de expertise.

    Marcado com: , , , , , , , , , , , ,
    Publicado em Certificação Oracle, SQL Expert

    Deixe um comentário

    Preencha os seus dados abaixo ou clique em um ícone para log in:

    Logotipo do WordPress.com

    Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

    Foto do Google+

    Você está comentando utilizando sua conta Google+. Sair /  Alterar )

    Imagem do Twitter

    Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

    Foto do Facebook

    Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

    Conectando a %s

    This site uses Akismet to reduce spam. Learn how your comment data is processed.

    Esse Blog é reconhecido pela
    Certificações
    Sou articulista
    Sou articulista

    Clique para seguir este blog e receber notificações via email de novos posts.

    Tércio Costa

    Tércio Costa

    Meu nome é Tércio Costa, sou formado em Ciências da Computação pela UFPB, tenho a certificação Oracle SQL Expert, mantendo um blog reconhecido pela OTN(oraclepress.wordpress.com), no qual também publico artigos técnicos no portal OTN, no portal http://www.profissionaloracle.com.br/gpo e na revista SQL Magazine. Além de tudo isto sou um Oracle ACE Associate por estar sempre contribuindo para a comunidade com um bom nível de expertise.

    Links Pessoais

    Serviços verificados

    Visualizar Perfil Completo →

    Total de Visualizações da Página
    • 88.016 Visualizações
    %d blogueiros gostam disto: