Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como posso obter a definição completa (sql) de visualizações do sistema como user_objects?


+1 para ver as definições das visualizações do sistema!

O primeiro problema (DBMS_METADATA vazio) é um problema de privilégio. De acordo com a documentação , os usuários normais verão apenas seus próprios objetos. Você precisará da função SELECT_CATALOG_ROLE ou EXP_FULL_DATABASE para ver outros objetos de usuários.

O segundo problema (o SQL não está completo) vem do tipo de dados LONGO , que - segundo a Oracle - não deve mais ser usado. No entanto, ainda é usado pelo Oracle para definições de visão, padrões, texto de restrição, etc. Por ser tão difícil de manusear, a visão ALL_VIEWS tem o texto original no LONG coluna e um texto truncado, principalmente os primeiros 4.000 caracteres, na coluna text_vc , presumivelmente para "texto em varchar".

EDITAR:

Acredito que você use o Oracle 12 ao mencionar a coluna text_vc , que não está disponível no Oracle 11. Presumivelmente, você está usando um banco de dados em contêiner. Se sim, dê uma olhada em Arquitetura de dicionário de dados em um CDB . Aparentemente, a definição de coisas fornecidas pela Oracle, como visualizações e pacotes, são visíveis apenas no contêiner raiz. Suspirar!!