(请原谅我的无知 - 我不是经验丰富的Oracle用户.)
我正在尝试使用DBMS_METADATA.GET_DDL函数(与ALL_OBJECTS或其他类似的函数)来获取特定模式中所有表的DDL.当我这样做(对于所有对象或单个特定对象)时,我得到一个ORA-31603错误(在模式"SCHEMA"中找不到类型TABLE的"对象"FOO").
我认为这意味着我登录的用户没有必要的权限来读取GET_DDL所需的元数据.这需要什么特权?登录时是否有办法确认当前用户是否拥有此权限?
谢谢!背风处
阅读本文档,但基本上,您需要SELECT_CATALOG_ROLE
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_metada.htm#i1016867