天天看點

SQLPLUS下普通使用者啟用AUTOTRACE報錯

今天測試時,我在本機測試庫登入ORACLE EXAMPLE資料庫的HR使用者後,想簡單檢視某條sql 的執行計劃,在使用set autotrace on 這個指令後發生報錯,報錯如下:

HR> set autotrace on;

SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled

SP2-0611: Error enabling STATISTICS report

在網上搜尋後發現報錯原因為該使用者無PLSUSTRACE角色的權限。

處理方案如下:

1.登入有dba角色的使用者,如sys在dba_roles資料字典中查找是否存在PLUSTRACE角色

SYS>select * from dba_roles where role='PLUSTRACE';

2.如果存在,直接授權給HR使用者即可,如果不存在則執行下列步驟:

  (1)使用oracle自帶腳本建立該角色,在sys使用者下執行  SYS>@?/sqlplus/admin/plustrce.sql

  (2)授權給HR使用者,執行 SYS>grant plustrace to hr;

  (3)重新登入HR使用者,啟用autotrace

           SYS>conn hr/hr      

            Connected.

            HR>set autotrace on

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

轉載于:http://blog.itpub.net/31017950/viewspace-2151864/