dbms_xmlgen包的Oracle问题

我在Oracle 10g中使用dbms_xmlgen包有一个奇怪的问题.

这是我的情况:

使用此包的查询通常按预期工作,没有问题.

即:

SQL> select dbms_xmlgen.getXML('select 1 from dual') from dual;
DBMS_XMLGEN.GETXML('SELECT1FRO
--------------------------------------------------------------------------------
<?xml version="1.0"?>
<ROWSET>
 <ROW>
  <_x0031_>1</_x0031_>
 </ROW>
</ROWSET>

但是,昨天下午,他们(使用dbms_xmlgen包的查询)完全停止了以下错误:

ORA-06544: PL/SQL: internal error, arguments: [pef.c:pefpargs2()], [30], [], [], [], [], [], []
ORA-06553: PLS-801: internal error [pef.c:pefpargs2()]
ORA-06512: at "SYS.DBMS_XMLGEN", line 229
ORA-06512: at "SYS.DBMS_XMLGEN", line 175

重新启动Oracle服务器修复了该问题.

问题是,我们依靠此功能来实现我们即将部署的几个集成功能,而且当我们处于生产环境时,我不希望出现意外问题.

关于同一问题的任何想法/补丁/经验?

这是我们正在使用的Oracle版本(select * from v $version):

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE    10.2.0.4.0  Production
TNS for Linux: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production

最佳答案 没有发现任何有关该错误的信息.您可以尝试:

确保服务器进程尚未在后台被杀死

检查alert_.log以获取有关内部错误以及其中引用的跟踪文件的更多信息.

不太可能的原因:

检查您是否有像’<‘这样的特殊数据或将输出的unicode字符.

检查数据库和客户端字符集.

点赞