Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Is Cursor Plan an SQL Trace Execution Plan ? ........... Basic Qs

Re: Is Cursor Plan an SQL Trace Execution Plan ? ........... Basic Qs

From: K Gopalakrishnan <kaygopal_at_gmail.com>
Date: Sat, 8 Sep 2007 17:15:28 -0700
Message-ID: <3b0f44a10709081715n223433c8t7149f06929b7bbc6@mail.gmail.com>


Nigel,

I guess you are talking about the multiple SQLs hashing to single hash value. This bug is fixed long back (IIRC it is around 7.3.4 days) and now the COMPLETE SQL is used for hashing. This was due to the fact the first 4k and last 4k text were used to generate the hash value and some packaged applications (esp: Oracle Ebusinesssuite) used to have same predicates and selects in the reports and used to create lots of issues on hash collision. Now the chance for these kind of hash collisions are very remote (and may warrant a new bug!)

-Gopal

> The hash value is calculated from the SQL text only. The SQL text is the same on both databases therefore so is the hash value. The hash value is just a convenient way of "labeling" the SQL so that instead of having to compare what can be very large text strings (eg 4000 chars or more) you can match (and index) on a short hash, and then use the text itself only to distinguish the rare cases where two different SQL statements have the same hash value and so would collide in a hash table.

-- 
Best Regards,
K Gopalakrishnan
Co-Author: Oracle Wait Interface, Oracle Press 2004
http://www.amazon.com/exec/obidos/tg/detail/-/007222729X/

Author: Oracle Database 10g RAC Handbook, Oracle Press 2006
http://www.amazon.com/gp/product/007146509X/
--
http://www.freelists.org/webpage/oracle-l
Received on Sat Sep 08 2007 - 19:15:28 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US