stored outlines迁移成SQL执行计划基线(6)


4.删除那些已经被迁移到SQL执行计划基线中的所有stored outline,下面的语将用来删除dba_outlines中状态为migrated的所有stored outline:
declare
 v_cnt PLS_INTEGER;
begin
 v_cnt:=dbms_spm.drop_migrated_stored_outline();
 dbms_output.put_line('Migrated stored outlines dropped: '|| v_cnt);
end;


5.设置初始化参数:
 .当执行SQL语句时,数据库创建SQL执行计划基线但不创建stored outline
 .当不存在等价的SQL执行计划基线时,数据库只使用stored outline

下面的例子,当执行SQL语句时,指示数据库创建SQL执行计划基线来代替stored outline。并且指示

数据库当目录allrows或default中的没有被迁移到SQL执行计划基线中的stored outline。否则数据

库只使用SQL执行计划基线。
alter system set create_stored_outline = false;
 alter system set optimizer_capture_sql_plan_baselines = true;
 alter system set optimizer_use_sql_plan_baselines = true;
 alter session set use_stored_outlines = allrows;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/29600e0cb82a55f33a93e3dfb495b795.html