平台信息:linux 4.8 32bit,oracle9204
 
想得到某个表的定义,执行如下语句:
 select dbms_metadata.get_ddl('TABLE','T2') from dual;
 
报错:
 ERROR:
 ORA-06502: PL/SQL: numeric or value error
 ORA-31605: the following was returned from LpxXSLResetAllVars in routine
 kuxslResetParams:
 LPX-1: NULL pointer
 ORA-22921: length of input buffer is smaller than amount requested
 ORA-06512: at "SYS.UTL_XML", line 0
 ORA-06512: at "SYS.DBMS_METADATA_INT", line 3320
 ORA-06512: at "SYS.DBMS_METADATA_INT", line 4148
 ORA-06512: at "SYS.DBMS_METADATA", line 458
 ORA-06512: at "SYS.DBMS_METADATA", line 615
 ORA-06512: at "SYS.DBMS_METADATA", line 1221
 ORA-06512: at line 1
 
经查阅网上资料,说是要打个patch,于是有好心的网友从metalink下了一个id2736436的补丁,且告知只有for 9205的,让我试试;
 我用opatch打这个补丁时,提示版本不一致:
 
MISSING_COMPONENT : oracle.rdbms, 9.2.0.5.0
 
This Oracle Home does not have components/versions required by the patch.
 
ERROR: OPatch failed during pre-reqs check.
 
请教高手,这个问题还能解决吗?该如何解决?
 非常感谢~

解决方案 »

  1.   

    谢谢美女~~难道都是委托别人打的补丁呀?
    不是说9204是9i里最稳定的版本嘛,怎么没有for 9204的补丁呢?
      

  2.   

    刚才用 for 9205 的patch强行打的包,打完之后还是不行,同样的错误,哎~何谓强行?答曰:把patch里两个文件中的版本信息改成 9.2.0.4.0了~~没办法又 rollback了~真是奇怪了,其他服务器也是9204的,执行dbms_metadata 就不报错呢~~连opatch也没有,说明没打过相应的patch吧我顶顶顶!!!