Autotrace的設定與使用
一、如何設定Autotrace?
SQLPLUS的AutoTrace是分析SQL的執行計劃、執行效率的一個非常簡單方便的工具,在絕大多數情況下,也是非常有用的工具。通過以下方法可以把Autotrace的許可權授予任何使用者,如果你需要限制Autotrace許可權,可以把對public的授權改為對特定user的授權。
C:Document and SettingsAdminstrator> sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on星期一6月21 16:33:18 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. 連線到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options SQL> @?rdbmsadminutlxplan 表已建立。 SQL> create public synonym plan_table for plan_table; 同義詞已建立。 SQL> grant all on plan_table to public ; 授權成功。 (oracle10g後,plan_table表在資料庫安裝的時候已經預設) SQL> @?sqlplusadminplustrce 上面這句實現建立角色plustrace。 |
DBA使用者首先被授予了plustrace角色,然後我們可以把plustrace授予public。這樣所有使用者都將擁有plustrace角色的許可權.
SQL> grant plustrace to public ; 授權成功。 |
二、如何使用Autotrace?
通過上面的設定,我們就可以使用AutoTrace的功能了。
SQL> connect test/test已連線。 (該命令可以顯示執行需要時間) |
關於Autotrace幾個常用選項的說明:
SET AUTOTRACE OFF ----------------不生成AUTOTRACE報告,這是預設模式
SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE只顯示優化器執行路徑報告
SET AUTOTRACE ON STATISTICS --只顯示執行統計資訊
SET AUTOTRACE ON -----------------包含執行計劃和統計資訊
SET AUTOTRACE TRACEONLY ------同set autotrace on,但是不顯示查詢輸出
SQL> select count(*) from t1; COUNT(*) ---------- 40689 已用時間: 00: 00: 00.00 執行計劃 ---------------------------------------------------------- Plan hash value: 3724264953 ------------------------------------------------------------------- | Id | Operation | Name | Rows | Cost (%CPU)| Time | ------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 132 (2)| 00:00:02 | | 1 | SORT AGGREGATE | | 1 | | | | 2 | TABLE ACCESS FULL| T1 | 39876 | 132 (2)| 00:00:02 | ------------------------------------------------------------------- Note ----- - dynamic sampling used for this statement 統計資訊 ---------------------------------------------------------- 0 recursive calls 0 db block gets 572 consistent gets 0 physical reads 0 redo size 410 bytes sent via SQL*Net to client 385 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processed SQL> |
三、使用Autotrace額外付出的代價
由於Autotrace需要記錄你的SQL執行的成本,這個本身是往資料庫裡面讀取和寫入一定的資料的,
需要一定的時間。當你的SQL執行時間足夠短的時候,這個由於Autotrace帶來的時間就變成非常可觀的了
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24496749/viewspace-1037374/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 設定sql plus 的autotraceSQL
- 設定autotrace全過程
- 安裝並設定autotrace
- 自動設定autotrace環境
- 設定autotrace的報錯問題解決
- Autotrace的配置與分析
- 設定AUTOTRACE出現ORA-3212錯誤
- 設定AUTOTRACE以及SP2-0618錯誤
- ORACLE 使用AUTOTRACE功能Oracle
- 設定AUTOTRACE時出現SP2-0611錯誤
- 【AUTOTRACE】SQL優化的重要工具--AUTOTRACESQL優化
- Ocelot使用與設定路由Routing路由
- 使用者autotrace 無法使用解決
- Autotrace工具使用——小工具,大用場
- Vivado使用技巧(22):綜合策略與設定的選擇
- thinkphp中配置資訊的二維陣列設定與使用PHP陣列
- Oracle AutotraceOracle
- macos 使用前的設定Mac
- 設定AUTOTRACE是出現SP2-0611和ORA-942錯誤。
- 如何使用Linux使用者身份與程式許可權的設定?Linux
- VS Code使用之基本設定與配置詳解
- ORACLE使用者管理與許可權設定Oracle
- shell程式設計02——變數定義與使用程式設計變數
- 使用dbstart指令碼的設定指令碼
- 使用data pump前的設定
- 使用 Solaris 的初步設定(轉)
- web.py cookie使用之cookie設定與獲取WebCookie
- MySQL的sql_mode解析與設定MySql
- aix變數的設定與檢測AI變數
- Oracle 9I 下的AutoTraceOracle
- 10g 中使用toad的sql編輯的autotrace的問題?SQL
- 以scott使用者執行set autotrace 出錯
- 關於ORACLE AUTOTRACEOracle
- set autotrace in SQL*PlusSQL
- Autotrace 用法總結
- lua定時器與定時任務的介面設計定時器
- JMeter定時器設定延遲與同步JMeter定時器
- [轉載] PyCharm、CLion 的設定和使用PyCharm