国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

oracle sql_profile綁定異常處置

2024-08-29 13:28:32
字體:
來源:轉載
供稿:網友
      oracle sql_profile綁定異常處置:

  一 建立測試表
  create table a nologging as select * from all_objects;
  二 準備工作
  找到sql_Id='aq03p7muwgvq5'
  select  * from V$sql where sql_text like '% from a where object_id=3%';
  找到全表的outline:
  方法一:dba_hist_sql_plan/v$sql_plan都可以
 
  select extractvalue(value(d), '/hint') as outline_hints
  from
  xmltable('/*/outline_data/hint'
  passing (
  select
  xmltype(other_xml) as xmlval
  from
  dba_hist_sql_plan
  where
  sql_id = '&sql_id'
  and plan_hash_value=&plan_hash_value
  and other_xml is not null)) d
  方法二:
 
  select * from dbms_xplan.display_awr('aq03p7muwgvq5',0,'outline');
  /*+
      BEGIN_OUTLINE_DATA
      IGNORE_OPTIM_EMBEDDED_HINTS
      OPTIMIZER_FEATURES_ENABLE('11.2.0.4')
      DB_VERSION('11.2.0.4')
      ALL_ROWS
      OUTLINE_LEAF(@"SEL$1")
      FULL(@"SEL$1" "A"@"SEL$1")
      END_OUTLINE_DATA
  */
  declare
    v_hints sys.sqlprof_attr;
    v_sqltext clob;
  begin
    select sql_fulltext into v_sqltext from v$sql where sql_id='aq03p7muwgvq5' and rownum<2;
    v_hints:=sys.sqlprof_attr(q'[FULL(@"SEL$1" "A"@"SEL$1")]');
    dbms_sqltune.import_sql_profile(v_sqltext,v_hints,'sql_full',force_match=>true,replace=>true);
  end;
  建立索引
  create index I_ind_object_id_com on a(object_id,object_name) nologging;
  查看執行計劃,并沒有走索引:
 
   Execution Plan
  ----------------------------------------------------------
  Plan hash value: 2248738933
  --------------------------------------------------------------------------
  | Id  | Operation         | Name | Rows  | Bytes | Cost (%CPU)| Time     |
  --------------------------------------------------------------------------
  |   0 | SELECT STATEMENT  |      |     1 |    98 |   177   (1)| 00:00:01 |
  |*  1 |  TABLE ACCESS FULL| A    |     1 |    98 |   177   (1)| 00:00:01 |
  --------------------------------------------------------------------------
  Predicate Information (identified by operation id):
  ---------------------------------------------------
     1 - filter("OBJECT_ID"=3)
  Note
  -----
     - SQL profile "sql_full" used for this statement
  Statistics
  ----------------------------------------------------------
            7  recursive calls
            0  db block gets
         1254  consistent gets
         1246  physical reads
            0  redo size
         1606  bytes sent via SQL*Net to client
          519  bytes received via SQL*Net from client
            2  SQL*Net roundtrips to/from client
            0  sorts (memory)
            0  sorts (disk)
            1  rows processed
  刪除profile
 
  begin
     dbms_sqltune.drop_sql_profile('sql_full');
     end;
  再次執行sql,找到走索引的outline
 
  當然你也可以用SQLT里的coe_xfr_sql_profile.sql或者create_sql_profile.sql生成sql_profile;
 
  這里有一點比較扯的是用完整的outline,寫進去不報錯,但執行計劃不走sql_profile里約定的內容;
 
  declare
    v_hints sys.sqlprof_attr;
    v_sqltext clob;
  begin
    select sql_fulltext into v_sqltext from v$sql where sql_id='aq03p7muwgvq5' and rownum<2;
    v_hints:=sys.sqlprof_attr(
  q'[BEGIN_OUTLINE_DATA]',
  q'[IGNORE_OPTIM_EMBEDDED_HINTS]',
  q'[OPTIMIZER_FEATURES_ENABLE('11.2.0.4')]',
  q'[DB_VERSION('11.2.0.4')],
  q'[ALL_ROWS]',
  q'[OUTLINE_LEAF(@"SEL$1")]',
  q'[FULL(@"SEL$1" "A"@"SEL$1")]',
  q'[END_OUTLINE_DATA]');
    dbms_sqltune.import_sql_profile(v_sqltext,v_hints,'sql_full',force_match=>true,replace=>true);
  end;

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江山市| 兰州市| 津南区| 九江市| 太康县| 崇阳县| 天长市| 鸡泽县| 剑河县| 商水县| 宁国市| 桃江县| 义马市| 舞钢市| 永德县| 铜鼓县| 辽阳县| 丰都县| 武宁县| 罗城| 邻水| 长治市| 雷波县| 岢岚县| 沙洋县| 金沙县| 锦州市| 游戏| 莱阳市| 肇源县| 亳州市| 丰镇市| 阳曲县| 满洲里市| 江口县| 天津市| 张家口市| 宁都县| 保康县| 宁都县| 扎兰屯市|