Tthank you Dion for the great links. I did few heapdumps and used Tanel's hd_analyzer. And it appears that pga heap keeps growing because of "koh-kghu call". To be more specific "kollalo2". Now, i have no idea what this is :) and Google is not much of a help. Does anyone know to what this relates? Here are the outputs (note that final number of chunks = 5*21(total number of files - procedure calls)) after first file is loaded: Total_size #Chunks Chunk_size, From_heap, Chunk_type, Alloc_reason ---------- ------- ------------ ----------------- ----------------- ----------------- 82240 5 16448 , pga heap, freeable, koh-kghu call 82040 5 16408 , koh-kghu call , freeable, kollalo2 after second file: 164480 10 16448 , pga heap, freeable, koh-kghu call 164080 10 16408 , koh-kghu call , freeable, kollalo2 third: 246720 15 16448 , pga heap, freeable, koh-kghu call 246120 15 16408 , koh-kghu call , freeable, kollalo2 at the end (21 test files): 1727040 105 16448 , pga heap, freeable, koh-kghu call 1722840 105 16408 , koh-kghu call , freeable, kollalo2 BTW. i also do dbms_session.free_unused_user_memory; at the end of each file. On Thu, Jan 21, 2010 at 1:39 AM, Dion Cho <ukja.dion@xxxxxxxxx> wrote: > I don't think that this is an expected behavior especially when the > collections are cleared after each iteration as OP insisted. > > There could be some memory leaks around the external tables and/or the > collections. > > Tanel Poder has written an excellent article on how to troubleshoot the PGA > problem. It would help. > > http://blog.tanelpoder.com/2009/01/02/oracle-memory-troubleshooting-part-1-heapdump-analyzer/ > > http://dioncho.wordpress.com/2009/07/27/playing-with-ora-4030-error/ -- //www.freelists.org/webpage/oracle-l