我通过 sqlplus 与 sys 作为 sysdba 连接到 oracle 数据库 11.2.0.4 企业版。如果我运行查询:
select DBMS_METADATA.GET_DDL ( 'TYPE' , 'SYS_PLSQL_9131_DUMMY_1' , 'SYS' ) from dual ;
我得到错误错误
*ORA-31603: object "SYS_PLSQL_9131_DUMMY_1" of type TYPE not found in schema "SYS"
ORA-06512: at "SYS.DBMS_METADATA", line 5805
ORA-06512: at "SYS.DBMS_METADATA", line 8344*
如果我运行,我也会遇到类似的错误
select DBMS_METADATA.GET_DDL ( 'TYPE_BODY' , 'SYS_PLSQL_9131_DUMMY_1' , 'SYS' ) from dual ;
select DBMS_METADATA.GET_DDL ( 'TYPE_SPEC' , 'SYS_PLSQL_9131_DUMMY_1' , 'SYS' ) from dual ;
如果我查询DBA_OBJECTS
or DBA_SOURCE
,则 TYPE 类型的对象就在那里。
即使我在 SYS 模式中查询其他 TYPE 类型对象,我也会收到这些错误,但并非所有 TYPE 类型对象都会给我这个问题。