当我运行 dbms_metadata 时,我得到 ORA-00904: "DBMS_METADATA"."GET_DDL": invalid identifier 错误。
该错误是因为列名或别名错误。我不确定我为什么会得到它。
这是一些显示错误的代码:我创建了一个表:
create table test_table (
column1 varchar2(300));
我插入一行数据:
insert into test_table values (55);
我尝试为它获取 DDL:
SELECT DBMS_METADATA.GET_DDL('TABLE','test_table') FROM dual;
这是错误:
>> SELECT DBMS_METADATA.GET_DDL('TABLE','test_table') FROM dual
*
Error at line 1
ORA-00904: "DBMS_METADATA"."GET_DDL": invalid identifier
我检查了权限,看来我拥有正确的权限:
select * FROM DBA_ROLE_PRIVS where granted_role = 'SELECT_CATALOG_ROLE';
我的用户(又名模式)在该列表中。
以下是我相信的文档:https ://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_metada.htm#i1016867