Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Any way to invalidate/flush a single cursor

RE: Any way to invalidate/flush a single cursor

From: Allen, Brandon <>
Date: Tue, 22 Aug 2006 10:05:54 -0700
Message-ID: <04DDF147ED3A0D42B48A48A18D574C45059E1D48@NT15.oneneck.corp>

Thanks Tanel, that's a great idea and seems like it would work very well for testing, but in some cases I actually need to do this in production (I forgot to mention that in my original post) in order to reset a poorly performing execution plan so the bind variables will be peeked again and Oracle will come up with a more appropriate plan. This is where I really need to prevent the mass invalidation of all cursors dependent on a given object and I can't use the view method here with the COTS app. I wish Oracle would just add a simple procedure like dbms_shared_pool.invalidate('<hash_value>'). It seems like it would be simple and useful enough. I can't be the only one encountering this problem. Maybe I'll open an enhancement request and see how that goes - never tried one before.  

Looking forward to your published paper, although it sounds like it might not be safe for a production environment ;-) I  

From: Tanel Poder [] Sent: Tuesday, August 22, 2006 1:30 AM

One option is to create view as select * from table and write your test query against this view.
Then verify that you get the same execution plan against this view as against the table directly.

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.

Received on Tue Aug 22 2006 - 12:05:54 CDT

Original text of this message