Какие привилегии Oracle мне нужны для использования DBMS_METADATA.GET_DDL?

(Извините за мое невежество здесь - я не опытный пользователь Oracle.)

Я пытаюсь использовать функцию DBMS_METADATA.GET_DDL (в сочетании с ALL_OBJECTS или чем-то подобным), чтобы получить DDL для всех таблиц в определенной схеме. Когда я делаю это (либо для всех объектов, либо для одного конкретного объекта), я получаю ошибку ORA-31603 («объект «FOO» типа TABLE не найден в схеме «SCHEMA»).

Я предполагаю, что это означает, что пользователь, с которым я вошел в систему, не имеет привилегий, необходимых для чтения метаданных, необходимых для GET_DDL. Какая привилегия нужна? Есть ли способ при входе в систему подтвердить, что текущий пользователь имеет/не имеет этой привилегии?

Благодарность! Ли


person Community    schedule 22.09.2008    source источник


Ответы (1)


Прочтите этот документ, но в основном вам нужна SELECT_CATALOG_ROLE

http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_metada.htm#i1016867

person Joseph Bui    schedule 22.09.2008