首页 > 学院 > 开发设计 > 正文

迁移baseline

2019-11-08 20:39:57
字体:
来源:转载
供稿:网友
生成baselineDECLARE  ret PLS_INTEGER;BEGIN  ret:=dbms_spm.load_plans_from_cursor_cache(sql_id=>'093bjyjkc76ry',plan_hash_value=>4194351669,fixed=>'YES');  dbms_output.put_line(ret || ' SQL plan baseline(s) created');END;--- 源端DB和目标DB都要执行BEGINDBMS_SPM.CREATE_STGTAB_BASELINE(   table_name      =>'spm_stageing_tab',   table_owner     => 'TP',   tablespace_name => 'TP');END;-- 源DB的执行DECLARE  l_plans_packed  PLS_INTEGER;BEGIN  l_plans_packed := DBMS_SPM.pack_stgtab_baseline(  table_name      =>'spm_stageing_tab',  table_owner     => 'TP');  DBMS_OUTPUT.put_line('Plans Packed: ' || l_plans_packed);END;expdp sysem/xxx tables=TP.spm_stageing_tab directory=DUMP_DIR content=data_only dumpfile=spm_stageing_tab.dmp logfile=spm_stageing_tab.expdp.log-- 目标DB执行impdp system/xxx tables=TP.spm_stageing_tab directory=DUMP_DIR content=data_only dumpfile=spm_stageing_tab.dmp logfile=spm_stageing_tab.impdp.log-- unpack sql_plan_baselinesDECLARE  l_plans_unpacked  PLS_INTEGER;BEGIN  l_plans_unpacked := DBMS_SPM.unpack_stgtab_baseline(  table_name      =>'spm_stageing_tab',  table_owner     => 'TP');  DBMS_OUTPUT.put_line('Plans Unpacked: ' || l_plans_unpacked);END;-----baseline迁移结束-- drop sql_plan_baselineDECLARE  l_plans_dropped  PLS_INTEGER;BEGIN  l_plans_dropped := DBMS_SPM.drop_sql_plan_baseline (  sql_handle => 'SQL_2ac181fb3c1a89ca',  plan_name  => 'SQL_PLAN_2phc1zcy1p2fa34b6538d');  DBMS_OUTPUT.put_line(l_plans_dropped);END;DECLARE  l_plans_dropped  PLS_INTEGER;  cur_handle       sys_refcursor;  v_handle         varchar2(100);BEGIN  open cur_handle for select distinct sql_handle from dba_sql_plan_baselines;  fetch cur_handle into v_handle;  while cur_handle%found loop    l_plans_dropped := DBMS_SPM.drop_sql_plan_baseline (sql_handle => v_handle);    DBMS_OUTPUT.put_line(l_plans_dropped);    fetch cur_handle into v_handle;  end loop;  close cur_handle;END;
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表