SP2-0618和_SP2-0611錯誤處理 plustrce許可權問題

tonyzhou_cn發表於2012-11-09

AUTOTRACE是一項SQL*Plus功能,自動跟蹤為SQL語句生成一個執行計劃並且提供與該語句的處理有關的統計。

SQL*Plus AUTOTRACE可以用來替代SQL Trace使用,AUTOTRACE的好處是您不必設定跟蹤檔案的格式,並且它將自動為SQL語句顯示執行計劃。然而,AUTOTRACE分析和執行語句;而EXPLAIN PLAN僅分析語句。

使用AUTOTRACE不會產生跟蹤檔案。

一、啟用Autotrace功能。任何以SQL*PLUS連線的session都可以用Autotrace,不過還是要做一些設定的,否則可能報錯。

1、報錯示例:

:> 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角 色,指令碼部份內容如下:

droproleplustrace;
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角色的使用者)。

conn sys/sys as sysdba

sql>grant dba to hr

sql>conn hr/hr

sql>set autotrace on

OK....

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27038344/viewspace-748864/,如需轉載,請註明出處,否則將追究法律責任。

相關文章