首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >oracle ORA-31603,即使是sysdba

问oracle ORA-31603,即使是sysdba
EN

Stack Overflow用户
提问于 2017-02-27 09:38:28
回答 2查看 1.7K关注 0票数 0

我通过sqlplus与sys作为sysdba连接到oracle数据库11.2.0.4企业版。如果我运行查询:

代码语言:javascript
复制
   select DBMS_METADATA.GET_DDL ( 'TYPE' , 'SYS_PLSQL_9131_DUMMY_1' , 'SYS' ) from dual ; 

我得到了错误错误

代码语言:javascript
复制
     *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*

如果运行以下命令,我也会收到类似的错误

代码语言:javascript
复制
      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或DBA_SOURCE,类型为的对象就在那里。

即使我在SYS模式中查询其他类型类型对象,我也会得到这些错误,但并非所有类型类型对象都会出现这个问题。

EN

回答 2

Stack Overflow用户

发布于 2017-02-27 12:09:16

这些类型应该由包隐式创建。在DBA_OBJECTS中查询object_id 9131 (类型名称中的数字)。

它可能指的是具有函数的包,该函数返回的值具有包规范中定义的数据类型,而不是简单的VARCHAR2 / NUMBER / DATE。

票数 1
EN

Stack Overflow用户

发布于 2017-02-28 11:38:15

为什么会抛出错误?问题与权限或代码无关。问题是,有时Oracle对象并不是所声称的对象类型。并不是所有的“表”都是实表,也不是所有的“类型”都是实表。Oracle可以创建对象来支持其他对象,例如嵌套表和系统生成的集合类型。

我如何提前知道什么会抛出错误?据我所知,当一个对象不是真正的对象时,没有官方的文档或数据字典视图可以告诉你。最好的指南可能是this answer中的条件。特别是这一部分:

代码语言:javascript
复制
    ...
   --These objects are included with other object types.
    and object_type not in ('INDEX PARTITION','INDEX SUBPARTITION',
       'LOB','LOB PARTITION','TABLE PARTITION','TABLE SUBPARTITION')
    --Ignore system-generated types that support collection processing.
    and not (object_type = 'TYPE' and object_name like 'SYS_PLSQL_%')
    --Exclude nested tables, their DDL is part of their parent table.
    and (owner, object_name) not in (select owner, table_name from dba_nested_tables)
    --Exlclude overflow segments, their DDL is part of their parent table.
    and (owner, object_name) not in (select owner, table_name from dba_tables where iot_type = 'IOT_OVERFLOW')

某些对象无法导出,需要忽略。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42476508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档