Re: Is it possible to disable SQL Directive collection for few tables?

  • From: Ludovico Caldara <ludovico.caldara@xxxxxxxxx>
  • To: "oracle-l@xxxxxxxxxxxxx" <oracle-l@xxxxxxxxxxxxx>
  • Date: Wed, 2 Dec 2015 16:39:42 +0100

Hi Yogesh,

in 12cR1 there's no easy way to disable directives in advance for specific
tables.

What you can do:
1. wait for the directives to be created (after a few misestimates) and
then disable them manually with pl/sql (notice that deleting them doesn not
guarantee that you will not have them recreated later)

BEGIN
FOR rec in (select d.directive_id as did from dba_sql_plan_directives d
join dba_sql_plan_dir_objects o on
(d.directive_id=o.directive_id) where o.owner='APPUSER' and
o.object_name in ('TAB','TAB_PROP'))
LOOP
DBMS_SPD.ALTER_SQL_PLAN_DIRECTIVE ( rec.did, 'ENABLED','NO');
END LOOP;
END;
/

2. you can stage/export/import directives from one DB to another one, this
will keep the directive status.

I've explained this step in my blog:
http://www.ludovicocaldara.net/dba/sql-plan-directives-problem/


3. as last resort, disable the whole adaptive features. I generally do not
recommend it, but sometimes I do it :-)

HTH
--
Ludovico

2015-12-01 5:51 GMT+01:00 Tiwari, Yogesh <Yogesh.Tiwari@xxxxxxxxxxxxxx>:

Oracle-l ,



Is it possible to disable SQL directive collection for few tables?



We are on 12.1.0.2 PSU4, linux x86-64. We saw perf degradation after
upgrade to 12c. One of the query, huge 500lines, involving complex views,
saw change in plan, and even baselines are getting ignored, that we got
from 11g db. Later, we compared stats from 11g db, and deleted extended
stats, and it worked like charm. Hence, the question.



Thanks,

*Yogi *

Disclaimer: The information transmitted is intended for the person or
entity to which it is addressed and may contain confidential, privileged or
copyrighted material or attorney work product. If you receive this in
error, please contact the sender and delete the material from any computer.
Any comments or statements made are not necessarily those of FIL India
Business Services Private Limited or any other Fidelity entity. All e-mails
may be monitored or recorded.



Other related posts: