Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

extract xml too many cause out of memory

757067Mar 1 2010 — edited Mar 4 2010
Hi,

I'm using Oracle 9.2x in windows xp (with 2g memory).

I wrote a procedure to extract xml which is xmltyp in a table column, then insert extracted values into another table.

if there were less than 10,000 rows/xml, then things went fine; but whenever hit the #13610 row/xml, then oracle gave me error:

ERROR at line 1:
ORA-03113: end-of-file on communication channel

I noticed from the widnows task manager, that Oracle instance kept allocating memory (hit to 1.4xg when terminating the execution of the procedure).

There were two usage of extract functions in the procedure, like

value := row.xml.extract('//.../text()', 'xmlns=...').getStringVal();
timestring := row.xml.extract('//.../text()', 'xmlns=...').getStringVal();

I'm wondering how to free memory right after per insert? I've tried apply commit per insert, set row.xml := null; row := null per insert, set to use max sga, etc; however none of them freed the DOM xml momory.

Can anyone have idea?

Thanks

--
John
Toronto
This post has been answered by Marco Gralike on Mar 2 2010
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 1 2010
Added on Mar 1 2010
4 comments
2,244 views