• <ul id="mayc0"></ul>
    <ul id="mayc0"><center id="mayc0"></center></ul>
    <strike id="mayc0"><input id="mayc0"></input></strike>
    <ul id="mayc0"></ul>
  • 始創于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊有禮 登錄
    • 掛牌上市企業
    • 60秒人工響應
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補償
    您的位置: 網站首頁 > 幫助中心>文章內容

    查看Oracle SQL執行計劃

    發布時間:  2012/5/26 20:29:58
    多種方法查看Oracle SQL執行計劃

      一.在線查看執行計劃表

     

      如果PLAN_TABLE表不存在,執行$ORACLE_HOME/rdbms/admin/utlxplan.sql創建plan_table表。

     

      1.explain plan

     

      for

     

      select * from ......

     

      2.select * from table(DBMS_XPLAN.Display);

     

      二.使用oracle第三方工具:

     

      plsql developer(F5)

     

      Toad (Ctrl+E)

     

      三.使用SQL*PLUS:

     

      如果PLAN_TABLE表不存在,執行$ORACLE_HOME/rdbms/admin/utlxplan.sql創建plan_table表。

     

      如果PLUSTRACE角色不存在,執行

     

      $ORACLE_HOME/sqlplus/admin/plustrce.sql

     

      1.sqlplus / as sysdba

     

      set autotrace on;

     

      關于Autotrace幾個常用選項的說明:

     

      SET AUTOTRACE OFF ---------------- 不生成AUTOTRACE 報告,這是缺省模式

     

      SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE只顯示優化器執行路徑報告

     

      SET AUTOTRACE ON STATISTICS -- 只顯示執行統計信息

     

      SET AUTOTRACE ON ----------------- 包含執行計劃和統計信息

     

      SET AUTOTRACE TRACEONLY ------ 同set autotrace on,但是不顯示查詢

     

      2.執行sql

     

      四.sql trace

     

      1.alter session set sql_trace=true;

     

      2.執行sql

     

      3.alter session set sql_trace=false;

     

      4.查看相應的sql trace文件。

     

      五.診斷事件(10046)

     

      1.alter session set events '10046 trace name context forever,level 12';

     

      2.執行sql

     

      3.alter session set events '10046 trace name context off';

     

      3.查看相應的sql trace文件。

     

      可利用TKPROF工具查看跟蹤文件

     

      TKPROF是一個用于分析oracle跟蹤文件并且產生一個更加清晰合理的輸出結果的可執行工具。如果一個系統的執行效率比較低,一個比較好的方法是跟蹤用戶的會話并且使用TKPROF工具的排序功能格式化輸出,從而找出有問題的SQL語句。

     

      TKPROF命令后面的選項及輸出文件各個列的含義在這里不做詳細的介紹。google一下就會有很多資料。

     

      下面簡單描述一下TKPROF工具的使用步驟:

     

      1、在session級別設置sql_trace=true

     

      alter">sys@ORCL>alter session set sql_trace=true;

     

      Session altered.

     

      如果要在pl/sql中對session級別設置true,可以使用dbms_system這個包:

     

      sys@ORCL> exec dbms_system.set_sql_trace_in_session(sid,serial#,true);

     

      2、指定一下生成的trace文件的名字,便于查找:

     

      alter">sys@ORCL>alter session set trace file_identifier='yourname';

     

      3、執行SQL語句。

     

      4、利用TKPROF工具格式化輸出的trace 文件:

     

      [oracle@q1test01~] $tkprof/oracle/admin/orcl/udump/orcl_ora_10266_yourname.trc/oracle/yourname.txtexplain=user/pwdaggregate=yessys=nowaits=yessort=fchela

     

      5、查看生成的文件再設置sql_trace=false:

     

      alter">sys@ORCL>alter session set sql_trace=false


    本文出自:億恩科技【www.vbseamall.com】

    服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線