Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Bind variable peeking and Dynamic sampling

RE: Bind variable peeking and Dynamic sampling

From: Elliott, Patrick <>
Date: Tue, 8 May 2007 13:02:31 -0500
Message-ID: <>

You can control how dynamic sampling occurs with an init.ora parameter called OPTIMIZER_DYNAMIC_SAMPLING. Here are the values:

0 - No dynamic sampling
1 - No dynamic sampling if query has less than 2 tables, table has no indexes, has not been analyzed, a full-scan is deemed expensive
2 - Dynamic sampling on all un-analyzed tables, # of sampled blocks=32  Most relevant level
3 - #2 + for tables where selectivity estimation was done
4 - #3 + single table predicates that refer 2 or more columns in the WHERE clause
5 thru 9 - Same as 4, but with sampled blocks=64, 128, 256, 1028, 4096 10 - Same as 4, but all blocks in the table are sampled


-----Original Message-----

From: [] On Behalf Of Bobak, Mark Sent: Tuesday, May 08, 2007 12:45 PM
To:;; Oracle-L; Subject: RE: Bind variable peeking and Dynamic sampling


I agree that having a hint to selectively hard parse (or, really, just selectively recompute execution plan) would be quite useful. But I suspect Oracle is hesitant to provide it, for fear that it becomes a "magic bullet", and people begin overusing it, causing an overall degradation in performance. It would be great, but would need to be very selectively applied.


PS, where do I go to file an enhancement request?


Mark J. Bobak
Senior Oracle Architect

"There are 10 types of people in the world: Those who understand binary, and those who don't."

-----Original Message-----

[] On Behalf Of Allen, Brandon Sent: Tuesday, May 08, 2007 12:58 PM
To:; Oracle-L; Subject: RE: Bind variable peeking and Dynamic sampling

Not that Wolfgang's suggestion isn't a good one, but just FYI - in my case, I got rid of histograms and am still having the problems of inappropriate plan sharing due to bind variable peeking.

I've filed enhancement request 6030306 to add a hint or some other method of forcing Oracle to always hard-parse and bind-peek for certain queries. If any of you agree this would be a good enhancement, please submit an enhancement request of your own and reference the above ER number and if enough of us ask for it, hopefully they'll add it soon.


-----Original Message-----

[] On Behalf Of Greg Rahn

Wolfgang's suggestion to remove any histograms might be the best bet.

Privileged/Confidential Information may be contained in this message or attachments hereto. Please advise immediately if you or your employer do not consent to Internet email for messages of this kind. Opinions, conclusions and other information in this message that do not relate to the official business of this company shall be understood as neither given nor endorsed by it.



Information transmitted by this email is proprietary to Medtronic and is intended for use only by the individual or entity to which it is addressed, and may contain information that is private, privileged, confidential or exempt from disclosure under applicable law. If you are not the intended recipient or it appears that this mail has been forwarded to you without proper authority, you are notified that any use or dissemination of this information in any manner is strictly prohibited. In such cases, please delete this mail from your records.
-- Received on Tue May 08 2007 - 13:02:31 CDT

Original text of this message