ITPub博客

首页 > 数据库 > Oracle > Oracle 10G中 EXP对象时报ORA-00932

Oracle 10G中 EXP对象时报ORA-00932

原创 Oracle 作者:charsi 时间:2015-03-04 14:54:04 0 删除 编辑

用户在使用exp对数据库的表做备份时,出现ORA-00932报错,如下:
EXP-00056: ORACLE error 932 encountered
ORA-00932: inconsistent datatypes: expected BLOB, CLOB got CHAR
EXP-00000: Export terminated unsuccessfully

数据库版本:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit

在Oracle支持网站上,可以找到对应的问题原因及解决方法,参考文档 ID 339938.1

问题出现版本:
oracle 10.1.0.2 到10.2.0.3

问题现象:
使用exp工具对数据库进行全库导出时会中断退出,并报EXP-00056,ORA-00932错误

问题原因:
一种可能的原因是数据库最近运行过$ORACLE_HOME/rdbms/admin/catmeta.sql脚本(也可能会有其他原因)

在数据库的数据字典中有一些SYS.KU$_开头的对象状态为INVALID,如下:(在本次用户的环境中,没有SYS.KU$_开头的INVALID对象。其导致原因可能与Oracle支持网站的不同)
-- invalid objects:
SET lines 120 pages 2000
COL status FOR a9
COL object_type FOR a20;
COL owner.object FOR a50
SELECT status, object_id, object_type, owner||'.'||object_name "OWNER.OBJECT"
  FROM dba_objects
WHERE status != 'VALID' AND object_name NOT LIKE 'BIN$%'
ORDER BY 4,2;

STATUS     OBJECT_ID OBJECT_TYPE     OWNER.OBJECT
--------- ---------- --------------- --------------------------------
INVALID         7105 PACKAGE BODY    SYS.DBMS_METADATA
INVALID         6683 VIEW            SYS.KU$_10_1_COMMENT_VIEW
INVALID         6788 VIEW            SYS.KU$_10_1_IND_STATS_VIEW
INVALID         6778 VIEW            SYS.KU$_10_1_PIND_STATS_VIEW
INVALID         6752 VIEW            SYS.KU$_10_1_PTAB_STATS_VIEW
INVALID         6770 VIEW            SYS.KU$_10_1_SPIND_STATS_VIEW
INVALID         6748 VIEW            SYS.KU$_10_1_TAB_ONLY_STATS_VIEW
... (etc)

在SQL×PLUS中查询sys.ku$_xmlschema_view同样会返回ORA-932错误
SET lines 200 pages 2000
COL url FOR a60 WRA
SELECT url, local, stripped_val
  FROM sys.ku$_xmlschema_view;

ORA-00932: inconsistent datatypes: expected BLOB, CLOB got CHAR

解决方法:
可能由于不同的缘故进行编译时,XDB的对象不能被catproc.sql脚本创建。catproc.sql脚本在执行时会调用catmeta.sql,而catmeta.sql中含有篡改过的对象导致XDB对象不可用。实际XDB需要的对象是通过脚本catmetx.sql定义的

方法1:
使用SYS用户运行下面两个脚本:
sqlplus /nolog

SQL> connect / as sysdba
SQL> @?/rdbms/admin/catmetx.sql
SQL> @?/rdbms/admin/utlrp.sql

SQL> exit

方法2:
使用EXPDP导出数据

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23850820/viewspace-1448023/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-05-04

  • 博文量
    96
  • 访问量
    406716