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

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

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

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

Спасибо! подветренный

1 ответ

Решение

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

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

Другие вопросы по тегам