Oracle9i 執行計劃(轉)
以下命令用於Windows作業系統
一、使用autotrace
進入sqlplus
1.使用utxlplan指令碼建立表
sqlplus中執行命令
@?\rdbms\admin\utlxplan.sql
2.建立同義詞為了多個使用者可以共享一個plan_table 並授權給public
create public synonym plan_table for plan_table;
grant all on plan_table to public;
3.建立plustrace 角色
執行命令 @?\sqlplus\admin\plustrce.sql
4.將角色許可權授予public
grant plustrace to public;
使用以下命令改變跟蹤狀態
進入sqlplus時,autotrace項預設是不開啟的,以後使用set autotrace off 關閉狀態
set autotrace on
開啟狀態後,執行的sql語句可以檢視執行計劃和查詢資訊
set autotrace traceonly
此狀態執行sql語句只顯示執行計劃,不顯示查詢輸出
SQL> set autotrace on
SQL> set autotrace traceonly
SQL> select table_name from user_tables;
關於Autotrace幾個常用選項的說明:
SET AUTOTRACE OFF ---------------- 不生成AUTOTRACE 報告,這是預設模式
SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE只顯示優化器執行路徑報告
SET AUTOTRACE ON STATISTICS -- 只顯示執行統計資訊
SET AUTOTRACE ON ----------------- 包含執行計劃和統計資訊
SET AUTOTRACE TRACEONLY ------ 同set autotrace on,但是不顯示查詢輸出
二、使用explain plan for檢視執行計劃:
通過鍵入explain plan for + [待分析sql文]執行解析;
其次輸入SELECT * FROM TABLE( DBMS_XPLAN.DISPLAY() );命令可檢視分析結果
三、使用sql_trace檢視
在pl/sql或者sqlplus中,開啟一個sql_window。
(1)先執行:alter session set sql_trace=true;
(2)再執行你那個返回結果不正確的SQL
(3)再執行:alter session set sql_trace=false;
(4)馬上登陸到機器上,到$ORACLE_BASE/admin/sid/udump目錄下。找到剛生成的.trc檔案(假設檔名是1234455.trc)。執行命令:tkprof 1234455.trc aa.txt。檢視aa.txt檔案。這個檔案裡面有執行計劃。看看執行計劃每一步返回的結果集記錄數是不是正確。
四、通過10053事件來檢視,這裡面可以查到一些關於SQL成本的詳細資訊
在pl/sql或者sqlplus中,開啟一個sql_window。
(1)先執行:Alter session set events’10053 trace name context forever[,level {1/2}]’;
(2)再執行你那個返回結果不正確的SQL
(3)再執行:Alter session set events’10053 trace name context off’;
(4)馬上登陸到10.1.4.10機器上,到$ORACLE_BASE/admin/sid/udump目錄下。找到剛生成的.trc檔案)。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70109/viewspace-687803/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 分析執行計劃優化SQLORACLE的執行計劃(轉)優化SQLOracle
- 分析執行計劃最佳化SQLORACLE的執行計劃(轉)SQLOracle
- (轉)執行計劃相關概念
- 檢視oracle執行計劃 - 轉Oracle
- ORACLE中檢視執行計劃(轉)Oracle
- 執行計劃-1:獲取執行計劃
- 執行計劃
- 怎麼穩固執行計劃<轉>
- oracle sqlprofile 固定執行計劃,並遷移執行計劃OracleSQL
- 【sql調優之執行計劃】獲取執行計劃SQL
- ORACLE柱狀圖與執行計劃(轉)Oracle
- 怎樣看懂Oracle的執行計劃[轉]Oracle
- oracle 10g執行計劃 (轉帖)Oracle 10g
- SYBASE執行計劃
- MySQL 執行計劃MySql
- MySQL執行計劃MySql
- sql 執行計劃SQL
- ORACLE執行計劃Oracle
- 【執行計劃】Oracle獲取執行計劃的幾種方法Oracle
- 【Oracle】-【索引-HINT,執行計劃】-帶HINT的索引執行計劃Oracle索引
- oracle的執行計劃居然出錯[轉帖]Oracle
- 【PG執行計劃】Postgresql資料庫執行計劃統計資訊簡述SQL資料庫
- oracle 固定執行計劃Oracle
- Oracle sql執行計劃OracleSQL
- explain執行計劃分析AI
- mysql執行計劃explainMySqlAI
- mysql explain 執行計劃MySqlAI
- MySQL執行計劃解析MySql
- 分割槽 執行計劃
- 執行計劃繫結
- SQL Server執行計劃SQLServer
- 執行計劃詳解
- 啟動執行計劃
- SQL的執行計劃SQL
- FAST DUAL執行計劃?AST
- 執行計劃的理解.
- min ? max ? 執行計劃?
- 檢視執行計劃