¿Qué privilegios de Oracle necesito para usar DBMS_METADATA.GET_DDL?
Pregunta
(Disculpe mi ignorancia: no soy un usuario experimentado de Oracle).
Estoy intentando utilizar la función DBMS_METADATA.GET_DDL (junto con ALL_OBJECTS o algo así) para obtener el DDL para todas las tablas en un esquema particular.Cuando hago esto (ya sea para todos los objetos o para un único objeto específico) aparece un error ORA-31603 ("objeto "FOO" de tipo TABLA no encontrado en el esquema "ESQUEMA").
Supongo que esto significa que el usuario con el que inicié sesión no tiene el privilegio necesario para leer los metadatos necesarios para GET_DDL.¿Qué privilegio es este que se necesita?¿Hay alguna forma al iniciar sesión para confirmar que el usuario actual tiene o no este privilegio?
¡gracias!Sotavento
Solución
Lea este documento, pero básicamente necesita SELECT_CATALOG_ROLE
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_metada.htm#i1016867