Inserting XML Document To The Table Fails With ORA-04030 Error. (Doc ID 1667557.1)

Last updated on MAY 28, 2014

Applies to:

Oracle Database - Enterprise Edition - Version 11.2.0.1 to 11.2.0.3 [Release 11.2]
Information in this document applies to any platform.

Symptoms

1. Following error is encountered while inserting XML document to the table:

ORA-04030: out of process memory when trying to allocate 1032 bytes (qmxlu subheap,qmemNextBuf:alloc)


2. The error is encountered when the XML document size is more than 400MB.


3. The trace file shows:

*** 2014-04-25 17:48:23.730
97% 3837 MB, 1046400 chunks: "permanent memory          "  
        qmxlu subheap   ds=0x2b38a94b5bb0  dsprt=0x2b38a94b6d78
3%  129 MB, 1046398 chunks: "free memory               "  
        qmxlu subheap   ds=0x2b38a9139658  dsprt=0x7fffb1dada68
0%  765 KB,  28 chunks: "permanent memory          "  
        qmxuParseXobDo  ds=0x2b38a93e1f38  dsprt=0x2b38a8efdad0

RIVATE HEAP SUMMARY DUMP
4089 MB total:
 4088 MB commented, 595 KB permanent
   43 KB free (0 KB in empty extents),
   4085 MB,   1 heap:    "koh dur heap d "          

*** 2014-04-25 17:48:24.726
------------------------------------------------------
Summary of subheaps at depth 1
4048 MB total:
 4048 MB commented, 82 KB permanent
   89 KB free (48 KB in empty extents),
   4046 MB,   1 heap:    "qmxtcEvalUMkPr "          

*** 2014-04-25 17:48:25.549
------------------------------------------------------
Summary of subheaps at depth 2
4007 MB total:
 4006 MB commented, 800 KB permanent
   89 KB free (71 KB in empty extents),
   4006 MB,   1 heap:    "qmxlu subheap  "          

*** 2014-04-25 17:48:26.502
------------------------------------------------------
Summary of subheaps at depth 3
3966 MB total:
   13 KB commented, 3837 MB permanent
  129 MB free (0 KB in empty extents),

REAL-FREE ALLOCATOR DUMP FOR THIS PROCESS
---------------------------------------------------------
 
Dump of Real-Free Memory Allocator Heap [0x2b38a9082000]
mag=0xfefe0001 flg=0x5000003 fds=0x8 blksz=65536
blkdstbl=0x2b38a9082010, iniblk=67584 maxblk=262144 numsegs=115
In-use num=65420 siz=4288937984, Freeable num=0 siz=0, Free num=1 siz=21692416

 
4. The current SQL from the trace file is like:

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms