在从Oracle11g升级到版本11.2.0.3执行@?/rdbms/admin/catupgrd.sql的过程中,会碰到下面的报错信息:
记录一下:
在从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
