ORA-04030: Out Of Process Memory When Trying To Allocate <nn> Bytes (kxs-heap-w,krvxlogact) When Using Oracle GoldenGate or Streams Replication.

(Doc ID 2401860.1)

Last updated on MAY 31, 2018

Applies to:

Oracle Database - Enterprise Edition - Version 12.2.0.1 and later
Oracle GoldenGate - Version 12.2.0.1.0 and later
Information in this document applies to any platform.

Symptoms

Database alert log showing following memory error:

ORA-04030: out of process memory when trying to allocate 258274336 bytes (kxs-heap-w,krvxlogact)

A database trace file is produced as well with following content:

...
*** 2018-03-18 22:01:50.096
*** SESSION ID:(558.26464) 2018-03-18 22:01:50.096
*** CLIENT ID:() 2018-03-18 22:01:50.096
*** SERVICE NAME:(SYS$USERS) 2018-03-18 22:01:50.096
*** MODULE NAME:(emagent_SQL_rac_database) 2018-03-18 22:01:50.096
*** CLIENT DRIVER:(jdbcthin) 2018-03-18 22:01:50.096
*** ACTION NAME:(capture_message) 2018-03-18 22:01:50.096

[TOC00000]
Jump to table of contents
Dump continued from file: /admin/QAM1/diag/rdbms/qam1_qts/QAM11/trace/QAM11_ora_22277.trc
[TOC00001]
ORA-04030: out of process memory when trying to allocate 230495880 bytes (kxs-heap-w,krvxlogact)

[TOC00001-END]
[TOC00002]
========= Dump for incident 34491 (ORA 4030) ========

*** 2018-03-18 22:01:50.106
dbkedDefDump(): Starting incident default dumps (flags=0x2, level=3, mask=0x0)
[TOC00003]
----- Current SQL Statement for this session (sql_id=27asrt9dxdt7z) -----
select a.capture_name capture_name,total_messages_captured,total_messages_enqueued
from gv$streams_capture a,dba_capture b,dba_queues c,dba_queue_tables d
where a.capture_name = b.capture_name and b.queue_name=c.name and b.queue_owner=c.owner
and c.queue_table=d.queue_table and c.owner=d.owner and d.owner_instance=a.inst_id
union all
select a.capture_name capture_name,total_messages_captured,total_messages_enqueued
from gv$xstream_capture a,dba_capture b,dba_queues c,dba_queue_tables d
where a.capture_name = b.capture_name and b.queue_name=c.name and b.queue_owner=c.owner
and c.queue_table=d.queue_table and c.owner=d.owner and d.owner_instance=a.inst_id
union all
select a.capture_name capture_name,total_messages_captured,total_messages_enqueued
from gv$goldengate_capture a,dba_capture b,dba_queues c,dba_queue_tables d
where a.capture_name = b.capture_name and b.queue_name=c.name and b.queue_owner=c.owner
and c.queue_table=d.queue_table and c.owner=d.owner and d.owner_instance=a.inst_id
[TOC00003-END]

[TOC00004]

 

Changes

Using GoldenGate or Streams monitoring feature via Oracle Grid Control. 

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