引用網址: http://www.cnblogs.com/cangos/archive/2011/12/19/2293935.html
?
今天在一臺機器中想分析下執行計劃,但是在sqlplus中輸入set autotrace on 報cannot set autotrace 錯誤
解決方法如下:
首先必須采用用Oracle的sqlplus登陸sys賬號
sqlplus?" sys/sys@XXX as sysdba "
然后執行如下腳本:
@F:\oracle\product\10.2.0\db_1\sqlplus\admin\plustrce.sql?(創建plustrace角色并授權) ??
?
@F:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlxplan.sql (創建執行計劃的表)
?
然后執行:?grant all on plan_table to public; (也可以授權給某一個單獨的用戶)
?????????????? grant plustrace to public ;?
運行結果:
SQL> grant all on plan_table to public;
授權成功。
SQL> grant plustrace to public ;
授權成功。
?
?
?
然后就可以進行 set autotrace了? 但是只能在sqlplus中運行相關命令,在pl/sql developer等工具中仍然報錯
?運行結果:
SQL> SET AUTOTRACE ON ;
SQL>
?
關于Autotrace幾個常用選項的說明:
SET AUTOTRACE OFF ---------------- 不生成AUTOTRACE 報告,這是缺省模式
SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE只顯示優化器執行路徑報告
SET AUTOTRACE ON STATISTICS -- 只顯示執行統計信息
SET AUTOTRACE ON ----------------- 包含執行計劃和統計信息
SET AUTOTRACE TRACEONLY ------ 同set autotrace on,但是不顯示查詢輸出
?
Autotrace 執行計劃的各列的涵義
?
序號 |
列名 |
解釋 |
1 |
ID_PLUS_EXP |
每一步驟的行號 |
2 |
PARENT_ID_PLUS_EXP |
每一步的Parent的級別號 |
3 |
PLAN_PLUS_EXP |
實際的每步 |
4 |
OBJECT_NODE_PLUS_EXP |
Dblink或并行查詢時才會用到 |
?
AUTOTRACE Statistics 常用列解釋
?
序號 |
列名 |
解釋 |
1 |
db block gets |
從buffer cache中讀取的block的數量 |
2 |
consistent gets |
從buffer cache中讀取的undo數據的block的數量 |
3 |
physical reads |
從磁盤讀取的block的數量 |
4 |
redo size |
DML生成的redo的大小 |
5 |
sorts (memory) |
在內存執行的排序量 |
7 |
sorts (disk) |
在磁盤上執行的排序量 |
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
