設定AUTOTRACE是出現SP2-0611和ORA-942錯誤。

楊奇龍發表於2011-03-22

yang@rac1>conn system/yang as sysdba
已連線。
sys@rac1>conn bi/yang
已連線。
bi@rac1>set autot trace
SP2-0618: 無法找到會話識別符號。啟用檢查 PLUSTRACE 角色
SP2-0611: 啟用 STATISTICS 報告時出錯
bi@rac1>set autot on
SP2-0618: 無法找到會話識別符號。啟用檢查 PLUSTRACE 角色
SP2-0611: 啟用 STATISTICS 報告時出錯
bi@rac1>set autot off
bi@rac1>@D:\oracle\product\11.1.0\db_1\RDBMS\ADMIN\utlxplan.sql
表已建立。
bi@rac1>set autot trace
SP2-0618: 無法找到會話識別符號。啟用檢查 PLUSTRACE 角色
SP2-0611: 啟用 STATISTICS 報告時出錯
解決方法
一般導致AUTOTRACE失敗不是因為PLAN_TABLE不存在,就是由於缺少PLUSTRACE角色或PLUSTRACE角色包含的檢視許可權。
而11g中PLAN_TABLE是一個同義詞,指向SYS的PLAN_TABLE$表,而且這個表的DML許可權已經授權給PUBLIC了,因此不應該是這個表導致的問題。
將PLAN_TABLE建立了當前使用者下,錯誤依舊。
懷疑是由於缺少許可權造成的問題:
bi@rac1>conn system/yang as sysdba
已連線。
sys@rac1>@D:\oracle\product\11.1.0\db_1\sqlplus\admin\plustrce.sql
sys@rac1>
sys@rac1>drop role plustrace;
drop role plustrace
          *
第 1 行出現錯誤:
ORA-01919: 角色 'PLUSTRACE' 不存在
sys@rac1>create role plustrace;
角色已建立。
sys@rac1>
sys@rac1>grant select on v_$sesstat to plustrace;
授權成功。
sys@rac1>grant select on v_$statname to plustrace;
授權成功。
sys@rac1>grant select on v_$mystat to plustrace;
授權成功。
sys@rac1>grant plustrace to dba with admin option;
授權成功。
sys@rac1>
sys@rac1>set echo off
sys@rac1>grant plustrace to bi;
授權成功。
sys@rac1>conn bi/yang
已連線。
bi@rac1>set autot trace
問題解決。。

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

相關文章