使用DBMS_METADATA.GET_DDL需要哪些Oracle权限?

时间:2008-09-22 18:14:43

标签: oracle metadata privilege

(原谅我的任何无知 - 我不是经验丰富的Oracle用户。)

我正在尝试使用DBMS_METADATA.GET_DDL函数(与ALL_OBJECTS或其他类似函数)来获取特定模式中所有表的DDL。当我这样做时(对于所有对象或单个特定对象)我得到一个ORA-31603错误(在模式“SCHEMA”中找不到类型TABLE的“对象”FOO“)。

我认为这意味着我登录的用户没有必要的权限来读取GET_DDL所需的元数据。这需要什么特权?登录时是否有办法确认当前用户是否拥有此权限?

谢谢! 利

1 个答案:

答案 0 :(得分:5)

阅读本文档,但基本上,您需要SELECT_CATALOG_ROLE

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