SP2-0618和_SP2-0611錯誤處理
AUTOTRACE是一項 SQL*Plus 功能,自動跟蹤為 SQL 語句生成一個執行計劃並且提供與該語句的處理有關的統計。
SQL*Plus AUTOTRACE 可以用來替代 SQL Trace 使用,AUTOTRACE 的好處是您不必設定跟蹤檔案的格式,並且它將自動為 SQL 語句顯示執行計劃。然而,AUTOTRACE 分析和執行語句;而EXPLAIN PLAN僅分析語句。
使用AUTOTRACE不會產生跟蹤檔案。
一、啟用Autotrace功能。任何以SQL*PLUS連線的session都可以用Autotrace,不過還是要做一些設定的,否則可能報錯。
1、報錯示例: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
*******************************************************************************
SQL> set autotrace on;
SP2-0613: 無法驗證 PLAN_TABLE 格式或實體
SP2-0611: 啟用EXPLAIN報告時出現錯誤
SP2-0618: 無法找到會話識別符號。啟用檢查 PLUSTRACE 角色
SP2-0611: 啟用STATISTICS報告時出現錯誤
該錯誤的的主要原因是由於當前使用者下沒有PLAN_TABLE這張表及相應的PLUSTRACE角色許可權。
2、解決方法:
A.以SYS使用者登入:
oracle>sqlplus '/ as sysdba';
B.執行utlxplan.sql(rdbms/admin下) 指令碼建立 PLAN_TABLE;
SQL>@ D:oracleora81RDBMSADMINutlxplan.sql
C.透過執行 plustrce.sql(ORACLE_HOME/sqlplus/admin/plustrce.sql)指令碼建立 plustrace 角色,這將V$ 檢視上的選擇許可權授予該角色,也將 plustrace 角色授予 DBA 角 色,指令碼部份內容如下:
drop role plustrace;
create role plustrace;
grant select on v_$sesstat to plustrace;
grant select on v_$statname to plustrace;
grant select on v_$session to plustrace;
grant plustrace to dba with admin option;D.將 plustrace 角色授予當前使用者(無 DBA 角色的使用者)。
或grant plustrace to public;
二、設定Autotrace的命令。
序號 | 命令 | 解釋 |
1 | SET AUTOTRACE OFF | 此為預設值,即關閉Autotrace |
2 | SET AUTOTRACE ON | 產生結果集和解釋計劃並列出統計 |
3 | SET AUTOTRACE ON EXPLAIN | 顯示結果集和解釋計劃不顯示統計 |
4 | SETAUTOTRACE TRACEONLY | 顯示解釋計劃和統計,儘管執行該語句但您將看不到結果集 |
5 | SET AUTOTRACE TRACEONLY STATISTICS | 只顯示統計 |
Eg:SET AUTOTRACE ON, set timing on, alter session set time_statistics=true;
三、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) | 在磁碟上執行的排序量 |
這個連結引用該篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=5892817
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-696792/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 錯誤SP2-0618和SP2-0611處理
- SP2-0618和_SP2-0611錯誤處理(轉)
- SP2-0618和_SP2-0611錯誤處理 plustrce許可權問題
- PHP錯誤處理和異常處理PHP
- 錯誤處理
- Python錯誤處理和異常處理(二)Python
- 六、函式、包和錯誤處理函式
- C++錯誤和異常處理C++
- 前端的水平線,錯誤處理和除錯前端除錯
- PHP 錯誤處理PHP
- php錯誤處理PHP
- Go 錯誤處理Go
- Swift錯誤處理Swift
- Zabbix錯誤處理
- mysqldump錯誤處理MySql
- 啟用PLUSTRACE 角色——設定AUTOTRACE出現SP2-0618、SP2-0611錯誤
- 錯誤處理:如何通過 error、deferred、panic 等處理錯誤?Error
- go的錯誤處理Go
- Python錯誤處理Python
- 如何在 Go 中優雅的處理和返回錯誤(1)——函式內部的錯誤處理Go函式
- .NET----錯誤和異常處理機制
- 異常錯誤資訊處理
- PHP 核心特性 - 錯誤處理PHP
- 常用模組 PHP 錯誤處理PHP
- laravel9 錯誤處理Laravel
- 淺談前端錯誤處理前端
- Oracle異常錯誤處理Oracle
- ORACLE 異常錯誤處理Oracle
- 15-錯誤處理(Error)Error
- 學習Rust 錯誤處理Rust
- axios 的錯誤處理iOS
- Go語言之錯誤處理Go
- GOLANG錯誤處理最佳方案Golang
- Objective-C:錯誤處理Object
- javascript之處理Ajax錯誤JavaScript
- 搭建dataguard時,錯誤處理
- Oracle錯誤處理思路(一)Oracle
- COM的錯誤處理 (轉)