Capture Process Slow Following Direct Path impdp Load of Data into Table with Clob Data (Doc ID 1298809.1)

Last updated on MAY 06, 2017

Applies to:

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

Symptoms

The Capture process slowed to an unacceptable rate following a datapump / impdp direct path load / direct insert into tables which the Capture process did not have an interest in.

Stack traces from the reader process show that it is inactive and waiting , i.e. we see the reader process in repeated calls to kslwaitns_timed().

The related relevant builder process trace - refer to <Bug:8831337> , enabled using :

alter system set events '1349 trace name context forever, level 33554431';

shows :

krvxbrfm: rollback due to low memory
DataList[0]: size 16 counted 1492 bucket count 1492 total 23872
DataList[1]: size 32 counted 1547 bucket count 1547 total 49504
DataList[2]: size 64 counted 2683 bucket count 2683 total 171712
DataList[3]: size 128 counted 8965 bucket count 8965 total 1147520
DataList[4]: size 192 counted 711 bucket count 711 total 136512
DataList[5]: size 256 counted 3931 bucket count 3931 total 1006336
DataList[6]: size 320 counted 58 bucket count 58 total 18560
DataList[7]: size 384 counted 5236 bucket count 5236 total 2010624
DataList[8]: size 448 counted 4967 bucket count 4967 total 2225216
DataList[9]: size 512 counted 22 bucket count 22 total 11264
DataList[10]: size 576 counted 8 bucket count 8 total 4608
DataList[11]: size 640 counted 6 bucket count 6 total 3840
DataList[12]: size 704 counted 2 bucket count 2 total 1408
DataList[13]: size 768 counted 1 bucket count 1 total 768
DataList[14]: size 832 counted 2 bucket count 2 total 1664
DataList[15]: size 896 counted 1 bucket count 1 total 896
DataList[16]: size 960 counted 1 bucket count 1 total 960
DataList[18]: size 1088 counted 1 bucket count 1 total 1088
DataList[22]: size 1344 counted 1 bucket count 1 total 1344
DataList[23]: size 1408 counted 2 bucket count 2 total 2816
DataList[24]: size 1472 counted 1 bucket count 1 total 1472
DataList[25]: size 1536 counted 1 bucket count 1 total 1536
DataList[26]: size 1600 counted 1 bucket count 1 total 1600
DataList[34]: size 2112 counted 1 bucket count 1 total 2112
DataList[46]: size 2880 counted 218 bucket count 218 total 627840
DataList[48]: size 3008 counted 2 bucket count 2 total 6016
DataList[49]: size 3072 counted 1 bucket count 1 total 3072
DataList[50]: size 3136 counted 1 bucket count 1 total 3136
DataList[54]: size 3392 counted 4 bucket count 4 total 13568
DataList[58]: size 3648 counted 2 bucket count 2 total 7296
DataList[62]: size 3904 counted 1 bucket count 1 total 3904
DataList[64]: size 4032 counted 2 bucket count 2 total 8064
DataList[65]: size 4096 counted 170 bucket count 170 total 696320
Trying to do memory spill............
krvupml: before purge: CacheSize 8260656 MemSize 64208
krvupml: after purge: CacheSize 64208
krvxspmmfs: Start marking chunks for memory spill
Marking tx for spill from public Q...
krvxspmmq(spill): amountLeft 481568 numMarked 0, Skipped 0
Marking tx for spill from private Q...
krvxspmmq(spill): amountLeft 481568 numMarked 0, Skipped 0
krvxspmmfs: spill wait for release, if any. retry 1    <krvxspdms: Session Max Mem: 10485760, MemSize: 64208, RegionMem: 10903120
krvxspdms: status 10006 amountNeeded 481568 numMarked 0
krvxbhlm: current 64208 max 10485760
Trying to do memory spill............
krvupml: before purge: CacheSize 64208 MemSize 64208
krvupml: after purge: CacheSize 64208
krvxspmmfs: Start marking chunks for memory spill
Marking tx for spill from public Q...
krvxspmmq(spill): amountLeft 481568 numMarked 0, Skipped 0
Marking tx for spill from private Q...
krvxspmmq(spill): amountLeft 481568 numMarked 0, Skipped 0
krvxspmmfs: spill wait for release, if any. retry 2  <krvxspdms: Session Max Mem: 10485760, MemSize: 64208, RegionMem: 10903120
krvxspdms: status 10006 amountNeeded 481568 numMarked 0
krvxbhlm: current 64208 max 10485760
Trying to do memory spill............
krvupml: before purge: CacheSize 64208 MemSize 64208
krvupml: after purge: CacheSize 64208
krvxspmmfs: Start marking chunks for memory spill
Marking tx for spill from public Q...
krvxspmmq(spill): amountLeft 481568 numMarked 0, Skipped 0
Marking tx for spill from private Q...
krvxspmmq(spill): amountLeft 481568 numMarked 0, Skipped 0
krvxspmmfs: spill wait for release, if any. retry 3   <krvxspdms: Session Max Mem: 10485760, MemSize: 64208, RegionMem: 10903120
krvxspdms: status 10006 amountNeeded 481568 numMarked 0
krvxbhlm: current 64208 max 10485760
...

Subsequent details reported under each 'Trying to do memory spill............' block are identical.

Eventually,. after 2999 retries, the process comes to an end with error :
ORA-01341: LogMiner out-of-memory

Inspecting the Logminer LCR Cache dump prior to the ora-1341 error, it is apparent that there are sufficient free chunks however whilst, the combined space is large enough to accommodate the amountNeeded value , the individual chunk sizes are smaller than the value requested.

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