We have applied the patch on production and it really fixed the problem. The parent cursor only uses 227K memory now. Thank you very much! On Fri, Jun 17, 2011 at 8:33 PM, Tanel Poder <tanel@xxxxxxxxxxxxxx> wrote: > Some cursors get created because of bind length differences - even when the > datatype is the same. But in your case, the *number* of child cursors > isn't probably the worst problem ... especially if you have a lot of bind > variables in the statement with fluctuating letngths ... and anyway - it's > your *parent* cursor which is so large - even if you flush out 90% of the > children, the parent still consumes this memory... it's some bug - memory > leak in parent cursor. Look into that bug I sent ... > > -- > Tanel Poder > http://blog.tanelpoder.com > > > On Fri, Jun 17, 2011 at 8:36 AM, Eagle Fan <eagle.f@xxxxxxxxx> wrote: > >> And it doesn't have data type conversion: >> >> SQL> select * from v$sql_bind_metadata where address in (select >> CHILD_ADDRESS from v$sql_shared_cursor where ADDRESS='0000000F3BC53E78') >> 2 and (position,datatype) not in >> 3 ((26,1), >> 4 (25,2), >> 5 (24,2), >> 6 (23,2), >> 7 (22,2), >> 8 (21,1), >> 9 (20,1), >> > -- Eagle Fan (www.dbafan.com)