I now made a simple test case with a select query from an rxml page. Still doesn't leak, but if I push many concurrent requests it dumps core on me in OCIHandleFree called from oracle.c:497 (testing on Solaris 8 sparc). That's not good either, but it seems to be unrelated to the issue at hand. Still, what are your experiences with Oracle and concurrent queries?
we actually did not have problems so far. but i forward this question to peter holzer (who is probably not listening here) as i'm really no expert at this topic.
As for test case, I'd naturally prefer one that is as minimized as possible. What sort of operation causes the leak (connecting, selecting, insert, updates, transactions, etc)? Are concurrent threads involved? Any sort of closer characterstics are useful.
we are using only selects and alter session (i'v logged all queries and selected a few typical examples below). as far as i see, all our pages using queries are leaking.
Maybe you can make a replica of your server and use ab to find out which specific page causes the leak and thereby the queries involved?
sorry, i don't understand, what exactly mean. what is ab?
/michael
selection of typical queries:
select COMP_DTL_ID from comp_details where modul_comp_modul_comp_id='3639' and infcont_infcont_id='26' select DBMS_LOB.GETLENGTH(wert_clob) as LENGTH from comp_details where COMP_DTL_ID='20818' alter session set nls_date_format='YYYY-MM-DD' SELECT * FROM languages WHERE lang_code='de' SELECT * FROM mod_typen,infomodule WHERE INSTR ('iprojekt,publ', modul_code)>0 AND lang_lang_id=1 AND mod_typ_id=mod_typ_mod_typ_id SELECT TECH_VALUE, TECH_TYP_TECH_TYP_ID FROM technologien WHERE LANG_LANG_ID='1' AND tech_typ_tech_typ_id='19' SELECT kwb.KEYW_VALUE, count(kwb.KEYW_VALUE) KEYCOUNT, kwb.KEYW_TYP_KEYW_TYP_ID FROM keywords kwa, keywords kwb, keywords_modul_components, modul_components, tech_module, technologien, infomodule WHERE('1'=0 or kwb.LANG_LANG_ID='1') AND ('19'=0 or technologien.TECH_TYP_TECH_TYP_ID='19') AND ('19'=0 or kwa.TECH_TYP_TECH_TYP_ID='19') AND (0 IN (2,7) OR infomodule.mod_typ_mod_typ_id IN (2,7)) AND tech_module.modul_comp_modul_comp_id=modul_components.modul_comp_id AND tech_module.tech_tech_id=technologien.tech_id AND keywords_modul_components.keyw_keyw_id=kwa.keyw_id AND keywords_modul_components.modul_comp_modul_comp_id=modul_components.modul_comp_id AND infomodule.infmod_id=modul_components.infmod_infmod_id AND kwa.KEYW_TYP_KEYW_TYP_ID=kwb.KEYW_TYP_KEYW_TYP_ID GROUP BY kwb.KEYW_VALUE, kwb.KEYW_TYP_KEYW_TYP_ID SELECT DISTINCT COMP_DTL_ID, DBMS_LOB.SUBSTR(wert_clob, 2000) AS TITLE, MODUL_COMP_ID, COMPONENT_CODE, exp_date, mod_comp_cr_date FROM comp_details, infcont, v_keywords_module_components WHERE (0 IN (19) OR tech_typ_id IN (19)) AND lang_id IN (1) AND (0 IN (2,7) OR mod_typ_id IN (2,7)) AND (0 IN (340) OR keyw_typ_id IN (340)) AND (exp_date>='1900-01-01' or exp_date is null) AND _comp_modul_comp_id=modul_comp_id AND infcont_infcont_id=infcont_id AND sortby='1' ORDER BY mod_comp_cr_date DESC SELECT COMP_DTL_ID, DBMS_LOB.GETLENGTH(wert_clob) as LENGTH, DBMS_LOB.SUBSTR(wert_clob, 2000, 1) as STR FROM comp_details, infcont WHERE modul_comp_modul_comp_id='3250' AND infcont_infcont_id=infcont_id AND sortby='2'
/ Michael J. Stenitzer
Previous text:
2004-09-27 18:25: Subject: memory leak in oracle module
I now made a simple test case with a select query from an rxml page. Still doesn't leak, but if I push many concurrent requests it dumps core on me in OCIHandleFree called from oracle.c:497 (testing on Solaris 8 sparc). That's not good either, but it seems to be unrelated to the issue at hand. Still, what are your experiences with Oracle and concurrent queries?
As for test case, I'd naturally prefer one that is as minimized as possible. What sort of operation causes the leak (connecting, selecting, insert, updates, transactions, etc)? Are concurrent threads involved? Any sort of closer characterstics are useful.
Maybe you can make a replica of your server and use ab to find out which specific page causes the leak and thereby the queries involved?
/ Martin Stjernholm, Roxen IS