RE: Any way to invalidate/flush a single cursor

  • From: "Allen, Brandon" <Brandon.Allen@xxxxxxxxxxx>
  • To: "Tanel Poder" <tanel.poder.003@xxxxxxx>, "ORACLE-L" <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 22 Aug 2006 10:05:54 -0700

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 [mailto:tanel.poder.003@xxxxxxx] 
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.

Other related posts: