sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo puedo obtener la definición completa (sql) de vistas del sistema como user_objects?

¡+1 por mirar las definiciones de las vistas del sistema!

El primer problema (DBMS_METADATA vacío) es un problema de privilegios. Según la documentación , los usuarios normales solo verán sus propios objetos. Necesitarás el rol SELECT_CATALOG_ROLE o EXP_FULL_DATABASE para ver los objetos de otros usuarios.

El segundo problema (SQL no está completo) proviene del tipo de datos LARGO , que, según Oracle, ya no debería usarse. Sin embargo, Oracle todavía lo usa para definiciones de vista, valores predeterminados, texto de restricción, etc. Debido a que es tan difícil de manejar, la vista ALL_VIEWS tiene el texto original en el LONG columna y un texto truncado, principalmente los primeros 4000 caracteres, en la columna text_vc , presumiblemente por "texto en varchar".

EDITAR:

Creo que usa Oracle 12 cuando menciona la columna text_vc , que no está disponible en Oracle 11. Presumiblemente, está utilizando una base de datos en contenedores. Si es así, consulte Arquitectura de diccionario de datos en un CDB . Aparentemente, la definición de elementos provistos por Oracle, como vistas y paquetes, solo son visibles en el contenedor raíz. ¡¡Suspiro!!