Какие привилегии Oracle мне нужны для использования DBMS_METADATA.GET_DDL? - PullRequest
5 голосов
/ 22 сентября 2008

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

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

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

спасибо! Lee

1 Ответ

5 голосов
/ 22 сентября 2008

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

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

...