首页 » ORACLE » 11.2 impdp ORA-31693 ORA-29913 ORA-27163 when the table has xmltype column

11.2 impdp ORA-31693 ORA-29913 ORA-27163 when the table has xmltype column

今天朋友在做一套11.2.0.1 导出的datapump file使用11.2.0.4 client导入时遇到了ORA-31693 ORA-29913  ORA-27163错误终止。这里记录一种解决方法。

ORA-31693: Failed to load / unload the data object table "ANBOB" "SDTEMPETL" object is ignored because of the error.:
ORA-29913: error in executing the call ODCIEXTTABLEFETCH
ORA-27163: insufficient memory(内存不足)
ORA-31693: Failed to load / unload the data object table "ANBOB" "SHTEMPETL" object is ignored because of the error.:
ORA-29913: error in executing the call ODCIEXTTABLEFETCH
ORA-27163: insufficient memory(内存不足)

查看表上的列信息,存在一列为 sys.xmltype 的数据类型。

Note ID 1562509.1有记录原因

Cause
While handling large XML data (in this case with impdp), it can exceed I/O buffer size.

The ORA-27163 points to
Bug 13683198 – ORA-27163 ON QUERY OF XML DOCUMENT
closed as duplicate of unpublished
Bug 12424121 – WHEN BUFFER SPLIT HAPPENED ON PI TARGET, XDKC PARSER GOT SEGMENTATION FAULT

The bug has been fixed in 12.1 and patch set 11.2.0.4 (not yet available).
Solution
For 11.2.0.2 and 11.2.0.3, apply Patch 12424121 as available for your platform.

想到之前同样与XML相关的一个问题,也是因11.2.0.2后改变了xml parse方式才引起的错误,可以set event改为使用老析parse方式.测试后也适用这个案例可以临时避免在不打补丁时使用,在配置了31156 evnet level 0x400后impdp成功导入。

Solution:
This issue only affects versions below 11.2.0.2 as 11.2.0.2 onwards uses a different parser.use the old parser by setting event 31156 at level 0x400:
ALTER system SET EVENTS ‘31156 trace name context forever, level 0x400’;

打赏

,

对不起,这篇文章暂时关闭评论。