set autotrace on 時報SP2-0618、SP2-0611的解決方法

pwz1688發表於2015-07-31

C:\Users\Administrator>sqlplus test/test@orcl

SQL*Plus: Release 11.2.0.1.0 Production on 星期五 7月 31 10:47:47 2015

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


連線到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> set autotrace on
SP2-0618: 無法找到會話識別符號。啟用檢查 PLUSTRACE 角色
SP2-0611: 啟用 STATISTICS 報告時出錯

分析錯誤原因:該錯誤的的主要原因是由於當前使用者下沒有PLAN_TABLE這張表及相應的PLUSTRACE角色許可權。
解決方法:
1、以sys使用者,執行下面二個sql檔案
    1)執行$ORACLE_HOME/sqlplus/admin/plustrce.sql ,建立角色
    2)執行$ORACLE_HOME/rdbms/admin/utlxplan.sql ,建立plan_table表
2、給使用者賦予plustrace角色許可權。
具體操作程式碼如下:

點選(此處)摺疊或開啟

  1. SQL> conn sys/oracle@orcl as sysdba
  2. 已連線。
  3. SQL> select role from dba_roles where role like 'PLUS%';

  4. 未選定行

  5. SQL> select * from dba_role_privs where granted_role='PLUSTRACE';

  6. 未選定行

  7. SQL> @E:\app\Administrator\product\11.2.0\dbhome_1\sqlplus\admin\plustrce.sql
  8. SQL>
  9. SQL> drop role plustrace;
  10. drop role plustrace
  11.           *
  12. 第 1 行出現錯誤:
  13. ORA-01919: 角色 'PLUSTRACE' 不存在


  14. SQL> create role plustrace;

  15. 角色已建立。

  16. SQL>
  17. SQL> grant select on v_$sesstat to plustrace;

  18. 授權成功。

  19. SQL> grant select on v_$statname to plustrace;

  20. 授權成功。

  21. SQL> grant select on v_$mystat to plustrace;

  22. 授權成功。

  23. SQL> grant plustrace to dba with admin option;

  24. 授權成功。

  25. SQL>
  26. SQL> set echo off
  27. SQL> @E:\app\Administrator\product\11.2.0\dbhome_1\RDBMS\ADMIN\utlxplan.sql

  28. 表已建立。

  29. SQL> grant plustrace to test;

  30. 授權成功。

  31. SQL> conn test/test@orcl
  32. 已連線。
  33. SQL> set autotrace on

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

相關文章