9i: Execution plan: Avoid "recursive execution"?

From: Dirk Schwarzmann <silent.rob_at_gmx.de>
Date: Fri, 6 Mar 2009 07:49:07 -0800 (PST)
Message-ID: <04f3fad1-08dd-4c36-a759-a9756232163f_at_n30g2000vba.googlegroups.com>



Hi all,

I desperately need your help:
I have a (complex) SQL statement here which runs fine on our internal development database (R 9.2) but crashes with ORA-01652 on the customer
�s database (which also a R 9.2). We use identical data (got a dump)
but it seems we have a different db configuration.

I received an execution plan from the customer for this query which is very different from the one our db tells us. The customer�s ex. plan states "temp table transformation", "recursive execution" and "insert statement" (on the temp table, which is quite costly). Our own ex. plan does only use nested loops, runs much faster - I�m pretty sure this is due to not writing into the temp table - and of course does not crash.

My question now: How can I force the customer�s database to use nested loops instead of recursion?
I already let the customer try out the following compiler hints, but without any luck:

select /*+ rule */ ...
select /*+ ALL_ROWS */ ...
select /*+ NOREWRITE */ ...

Although we got a different execution plan for every alternative (which is quite clear), the compiler always uses recursive execution. I
�m stuck. Can anyone give my a hint which db configuration parameter
might be responsible for this since I absolutely have no clue but am pretty sure it must be a difference between our two configuration settings.

Many thanks in advance,
Dirk Received on Fri Mar 06 2009 - 09:49:07 CST

Original text of this message