SP2-0618和_SP2-0611錯誤處理

season0891發表於2011-05-31

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

只顯示統計

EgSET 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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章