Re: hash_value and address

2002-09-04 Thread Stephane Faroult

Pablo Rodriguez wrote:
 
 I see 2 different addreses for the same hash_value in
 v$sqlarea.
 Why do I see this?
 
 Here's an example:
 
 hash_value   address
 --   ---
 3749804 4064082C
 3749804 4192941C
 
 I wonder if someone can shed some light on this
 
 Txs
 

My understanding is that to quickly find an already parsed statement in
memory, Oracle uses a hash function, which, like all hash functions is
not surjective (which means that you can have x y and f(x)= f(y), in
which case you say you have a collision). Of course once the hash value
has been computed values are checked, and all strings hashing to the
same value are linked - and stored at different addresses. You can also
have the case in which statements are strictly identical, but, for
session-related reasons, cannot be considered the same cursor (because
of synonyms pointing to different objects, of similarly named tables in
different schemas, or because optimizer settings have been altered at
the session level, typically). In that case it's normal to have the same
hash result for the same string - but you nevertheless have a collision
of a sort.
-- 
HTH,

Stephane Faroult
Oriole Software
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Stephane Faroult
  INET: [EMAIL PROTECTED]

Fat City Network Services-- (858) 538-5051  FAX: (858) 538-5051
San Diego, California-- Public Internet access / Mailing Lists

To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).



RE: hash_value and address

2002-09-04 Thread Cary Millsap

We see one such collision about every four years in the application
sites who share their data with us. The hash_value is definitely not a
unique identifier.


Cary Millsap
Hotsos Enterprises, Ltd.
http://www.hotsos.com

Upcoming events:
- Hotsos Clinic, Oct 1-3 San Francisco, Oct 15-17 Dallas, Dec 9-11
Honolulu
- 2003 Hotsos Symposium on OracleR System Performance, Feb 9-12 Dallas
- Next event: Miracle Database Forum, Sep 20-22 Middelfart Denmark



-Original Message-
Faroult
Sent: Wednesday, September 04, 2002 4:00 PM
To: Multiple recipients of list ORACLE-L

Pablo Rodriguez wrote:
 
 I see 2 different addreses for the same hash_value in
 v$sqlarea.
 Why do I see this?
 
 Here's an example:
 
 hash_value   address
 --   ---
 3749804 4064082C
 3749804 4192941C
 
 I wonder if someone can shed some light on this
 
 Txs
 

My understanding is that to quickly find an already parsed statement in
memory, Oracle uses a hash function, which, like all hash functions is
not surjective (which means that you can have x y and f(x)= f(y), in
which case you say you have a collision). Of course once the hash value
has been computed values are checked, and all strings hashing to the
same value are linked - and stored at different addresses. You can also
have the case in which statements are strictly identical, but, for
session-related reasons, cannot be considered the same cursor (because
of synonyms pointing to different objects, of similarly named tables in
different schemas, or because optimizer settings have been altered at
the session level, typically). In that case it's normal to have the same
hash result for the same string - but you nevertheless have a collision
of a sort.
-- 
HTH,

Stephane Faroult
Oriole Software
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Stephane Faroult
  INET: [EMAIL PROTECTED]

Fat City Network Services-- (858) 538-5051  FAX: (858) 538-5051
San Diego, California-- Public Internet access / Mailing Lists

To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Cary Millsap
  INET: [EMAIL PROTECTED]

Fat City Network Services-- (858) 538-5051  FAX: (858) 538-5051
San Diego, California-- Public Internet access / Mailing Lists

To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).



Re: hash_value and address

2002-09-03 Thread Anjo Kolk

Could because of different child cursors ?!


On Wednesday 04 September 2002 01:04, you wrote:
 I see 2 different addreses for the same hash_value in
 v$sqlarea.
 Why do I see this?

 Here's an example:

 hash_value   address
 --   ---
 3749804   4064082C
 3749804   4192941C

 I wonder if someone can shed some light on this

 Txs

 ___
 Yahoo! Messenger
 Nueva versión: Webcam, voz, y mucho más ¡Gratis!
 Descárgalo ya desde http://messenger.yahoo.es


--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Anjo Kolk
  INET: [EMAIL PROTECTED]

Fat City Network Services-- (858) 538-5051  FAX: (858) 538-5051
San Diego, California-- Public Internet access / Mailing Lists

To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).