<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Neil的備忘錄

    just do it
    posts - 66, comments - 8, trackbacks - 0, articles - 0

    如何啟用sqlplus的AutoTrace功能

    Posted on 2009-01-10 15:48 Neil's NoteBook 閱讀(361) 評論(0)  編輯  收藏

     AUTOTRACE是一項SQL*Plus功能,自動跟蹤為SQL語句生成一個執行計劃并且提供與該語句的處理有關的統計。

       SQL*Plus AUTOTRACE可以用來替代SQL Trace使用,AUTOTRACE的好處是您不必設置跟蹤文件的格式,并且它將自動為SQL語句顯示執行計劃。然而,AUTOTRACE分析和執行語句;而EXPLAIN PLAN僅分析語句。

       使用AUTOTRACE不會產生跟蹤文件。

     

    一、set autotrace語法及選項的說明

    1、用法:SET AUTOT[RACE] {OFF | ON | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]

    OPTION說明

    SET AUTOTRACE OFF          此為默認值,即關閉Autotrace

    SET AUTOTRACE ON            同時輸出執行結果以及統計信息和執行計劃信息。

    SET AUTOTRACE ON EXPLAIN   只打開執行計劃報表,顯示命令結果,不顯示統計信息。

    SET AUTOTRACE ON STATISTICS 只打開統計信息報表,顯示命令結果,不顯示執行計劃。

    SET AUTOTRACE TRACEONLY     不顯示命令的執行結果,顯示執行計劃和統計信息,但在traceonly的后面仍然可以追加explain或者statistics,等同于set autotrace on [explain|statistics]但是不顯示執行結果。

    2Autotrace執行計劃的各列的涵義

    ID_PLUS_EXP            每一步驟的行號

    PARENT_ID_PLUS_EXP     每一步的Parent的級別號

    PLAN_PLUS_EXP          實際的每步

    OBJECT_NODE_PLUS_EXP   Dblink或并行查詢時才會用到

    3AUTOTRACE Statistics常用列解釋

    db block gets      buffer cache中讀取的block的數量

    consistent gets    buffer cache中讀取的undo數據的block的數量

    physical reads      從磁盤讀取的block的數量

    redo sizeDML       生成的redo的大小

    sorts (memory)      在內存執行的排序量

    sorts (disk)        在磁盤上執行的排序量

     

    二、使用前設置及Autotrace授權

    1、任何以SQL*PLUS連接的session都可以用Autotrace,不過還是要做一些設置的,否則可能報錯。

    報錯示例:

    SQL:> set autotrace on;

    SP2-0613: Unable to verify PLAN_TABLE format or existence

    SP2-0611: Error enabling EXPLAIN report

    SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled

    SP2-0611: Error enabling STATISTICS report

    該錯誤的的主要原因是由于當前用戶下沒有PLAN_TABLE這張表及相應的PLUSTRACE角色權限。

    2、 通過以下方法可以把Autotrace的權限授予Everyone,如果你需要限制Autotrace權限,可以把對public的授權改為對特定user的授權。

    D:\oracle\ora92>sqlplus /nolog

    SQL> connect sys as sysdba

    SQL> @?\rdbms\admin\utlxplan    --表已創建。

    SQL> create public synonym plan_table for plan_table;   --同義詞已創建。

    SQL> grant all on plan_table to public ;

    SQL> @?\sqlplus\admin\plustrce

    SQL> drop role plustrace;

    SQL> create role plustrace;

    SQL> grant select on v_$sesstat to plustrace;

    SQL> grant select on v_$statname to plustrace;

    SQL> grant select on v_$session to plustrace;

    SQL> grant plustrace to dba with admin option;

    SQL> set echo off

     

      DBA用戶首先被授予了plustrace角色,然后我們可以把plustrace授予public;這樣所有用戶都將擁有plustrace角色的權限.

    SQL> grant plustrace to public ;

     

    三、使用AutoTrace的功能

    SQL> connect eqsp/eqsp

    SQL> set autotrace on

    SQL> set timing on

    SQL> set autotrace traceonly

     

    SQL> select table_name from user_tables;

    已選擇98行。

    已用時間: 00: 00: 00.04

    Execution Plan

    ----------------------------------------------------------

    0 SELECT STATEMENT ptimizer=CHOOSE

    1 0 NESTED LOOPS

    2 1 NESTED LOOPS (OUTER)

    3 2 NESTED LOOPS (OUTER)

    4 3 NESTED LOOPS (OUTER)

    5 4 NESTED LOOPS (OUTER)

    6 5 NESTED LOOPS

    7 6 TABLE ACCESS (BY INDEX ROWID) OF 'OBJ$'

    8 7 INDEX (RANGE SCAN) OF 'I_OBJ2' (UNIQUE)

    9 6 TABLE ACCESS (CLUSTER) OF 'TAB$'

    10 9 INDEX (UNIQUE SCAN) OF 'I_OBJ#' (NON-UNIQUE)

    11 5 TABLE ACCESS (BY INDEX ROWID) OF 'OBJ$'

    12 11 INDEX (UNIQUE SCAN) OF 'I_OBJ1' (UNIQUE)

    13 4 INDEX (UNIQUE SCAN) OF 'I_OBJ1' (UNIQUE)

    14 3 TABLE ACCESS (CLUSTER) OF 'USER$'

    15 14 INDEX (UNIQUE SCAN) OF 'I_USER#' (NON-UNIQUE)

    16 2 TABLE ACCESS (CLUSTER) OF 'SEG$'

    17 16 INDEX (UNIQUE SCAN) OF 'I_FILE#_BLOCK#' (NON-UNIQUE)

    18 1 TABLE ACCESS (CLUSTER) OF 'TS$'

    19 18 INDEX (UNIQUE SCAN) OF 'I_TS#' (NON-UNIQUE)

     

    Statistics

    ----------------------------------------------------------

    0 recursive calls

    0 db block gets

    1389 consistent gets

    0 physical reads

    0 redo size

    2528 bytes sent via SQL*Net to client

    569 bytes received via SQL*Net from client

    8 SQL*Net roundtrips to/from client

    0 sorts (memory)

    0 sorts (disk)

    98 rows processed

     

    -The End-


    原文地址:http://space.itpub.net/12330444/viewspace-251837


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 综合偷自拍亚洲乱中文字幕| 亚洲综合色丁香麻豆| 国产精品亚洲精品久久精品| 免费一本色道久久一区| 亚洲国产日产无码精品| 成人午夜免费福利视频| 亚洲另类图片另类电影| 亚洲人成电影网站免费| 亚洲精品天堂在线观看| 日本特黄特色aa大片免费| 国产精品成人亚洲| 久久久无码精品亚洲日韩软件| 久久性生大片免费观看性| 亚洲热妇无码AV在线播放| 一个人看的www免费视频在线观看 一个人免费视频观看在线www | 国产乱子影视频上线免费观看| 亚洲欧洲无码一区二区三区| 在线观看永久免费视频网站| 黄色网址免费在线| 亚洲AV综合色一区二区三区| 在线观看免费视频资源| 亚洲熟女综合色一区二区三区| 国产精品视_精品国产免费 | 亚洲精品韩国美女在线| 日韩免费一区二区三区在线| 亚洲国产成人无码AV在线| 亚洲Av无码乱码在线znlu| 永久免费av无码网站yy| 亚洲一区二区三区精品视频| 国产美女无遮挡免费视频网站| 久久www免费人成看国产片| 久久精品国产亚洲av日韩| 蜜臀91精品国产免费观看| 美女无遮挡拍拍拍免费视频| 亚洲成综合人影院在院播放| 国产成人免费片在线视频观看| 国产在线观看免费视频软件 | 亚洲日本一区二区三区在线不卡| 99视频在线免费| 国产精品亚洲天堂| 亚洲AV永久青草无码精品|