我在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字符.
检查数据库和客户端字符集.