6

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

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

我假设这意味着我登录的用户没有任何必要的权限来读取 GET_DDL 所需的元数据。这需要什么特权?登录时有没有办法确认当前用户有/没有这个权限?

谢谢!李

4

1 回答 1

6

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

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

于 2008-09-22T18:23:58.403 回答