SP2-0618和_SP2-0611錯誤處理(轉)
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:\oracle\ora81\RDBMS\ADMIN\utlxplan.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) |
在磁碟上執行的排序量 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25964700/viewspace-709098/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SP2-0618和_SP2-0611錯誤處理
- 錯誤SP2-0618和SP2-0611處理
- SP2-0618和_SP2-0611錯誤處理 plustrce許可權問題
- COM的錯誤處理 (轉)
- 使用PHP錯誤處理 (轉)PHP
- PHP錯誤處理和異常處理PHP
- [轉] Scala Try 與錯誤處理
- Windows函式錯誤處理 (轉)Windows函式
- 錯誤處理
- 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----錯誤和異常處理機制
- ORA-39700 with UPGRADE option錯誤的處理(轉)
- 轉載ORA-01591錯誤故障處理
- ORA-12516錯誤的處理(轉)
- 異常錯誤資訊處理
- PHP 核心特性 - 錯誤處理PHP
- 常用模組 PHP 錯誤處理PHP
- laravel9 錯誤處理Laravel
- 淺談前端錯誤處理前端
- Oracle異常錯誤處理Oracle
- ORACLE 異常錯誤處理Oracle
- 15-錯誤處理(Error)Error
- 學習Rust 錯誤處理Rust