首页 > 解决方案 > Oracle updatexml 在大量数据上抛出 pga 内存

问题描述

我正在使用下面的 updatexml 函数来更新 Xmltype 列,使用过程为许多表加扰。一些表的数据量很大,因为 PGA 内存问题导致更新失败 命令如下:

Update table_name
set XMLRECORD = updatexml(xmlrecord,'/row/c1/text()','SCRAMBLE1','/row/c3/text()','SCRAMBLE2')

错误信息:

ORA-04036: 实例使用的 PGA 内存超过 PGA_AGGREGATE_LIMIT 04036.00000 - “实例使用的 PGA 内存超过 PGA_AGGREGATE_LIMIT” *原因:整个实例的私有内存超过了 PGA_AGGREGATE_LIMIT 初始化参数中指定的限制。使用程序全局区域 (PGA) 内存的最大会话被中断以低于限制。*行动:增加 PGA_AGRREGATE_LIMIT 初始化参数或减少内存使用。

我们试图增加 pga 限制,但问题仍然存在。感谢任何处理此问题的建议。

标签: oracleoracle12cxmltypeupdatexml

解决方案


我只是用新数据重新创建表。


推荐阅读