Oracle 11g升级到11.2.0.3过程中XDB.DBMS_XMLSCHEMA相关报错


记录一下:
在从Oracle11g升级到版本11.2.0.3执行@?/rdbms/admin/catupgrd.sql的过程中,会碰到下面的报错信息:
ORA-00604: error occurred at recursive SQL level 1
ORA-01704: string literal too long
ORA-00932: inconsistent datatypes: expected XDB.XDB$SCHEMA_T got
ORA-06512: at "XDB.DBMS_XMLSCHEMA_INT", line 173
ORA-06512: at "XDB.DBMS_XMLSCHEMA", line 231
ORA-06512: at line 288
ORA-00604: error occurred at recursive SQL level 1
ORA-00932: inconsistent datatypes: expected XDB.XDB$SCHEMA_T got
ORA-06512: at "XDB.DBMS_XMLSCHEMA_INT", line 173
ORA-06512: at "XDB.DBMS_XMLSCHEMA", line 231
ORA-06512: at line 31


上面的错误信息跟升级Oracle Multimedia组件相关。根据Oracle的说法,在脚本后面有替换SQL重新执行,因此,在升级后如果Oracle Multimedia组件是VALID的,则该报错可以安全忽略。


升级后,查询Oracle Multimedia组件的状态:
SQL> conn / as sysdba
SQL> set serveroutput on
SQL> execute validate_ordim;


PL/SQL procedure successfully completed.


SQL> select comp_name,version,status from dba_registry where comp_id='ORDIM';


COMP_NAME            VERSION    STATUS
-------------------- ---------- ----------------------
Oracle Multimedia    11.2.0.3.0 VALID


该组件状态是VALID的,因此报错可忽略。


启示录:
生产环境尽量选择手工建库,安装最少和必需的组件。
--减少出Bug的几率和缩减升级脚本执行的时间。

推荐阅读:

Oracle 10g 10.2.0.1 32位迁移升级到10g 10.2.0.5 64位

Oracle升级(10.2.0.1->10.2.0.3)

Oracle 10g rac升级到10.2.0.5 

Oracle 10g 升级到11g实训项目

RedHat 5.5 Oracle RAC 数据库 从10.2.0.1升级到 10.2.0.5 

相关内容