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


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

    今天是2013-09-17,在今天学习sql执行计划的是发现如下问题:
    问题描述:
    在rhys用户下开启sql语句计划报如下错误:

    SQL> set autotrace on
    SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled
    SP2-0611: Error enabling STATISTICS report
    问题分析:
    由于该rhys账户没有PLUSTRACE角色导致此问题的产生。
    解决办法:
    1)查看$ORACLE_HOME/sqlplus/admin下的plustrce.sql发现如下内容:
    -- Copyright (c) Oracle Corporation 1995, 2002. All Rights Reserved.
    --
    -- NAME
    -- plustrce.sql
    --
    -- DESCRIPTION
    -- Creates a role with access to Dynamic Performance Tables
    -- for the SQL*Plus SET AUTOTRACE ... STATISTICS command.

    -- After this script has been run, each user requiring access to
    -- the AUTOTRACE feature should be granted the PLUSTRACE role by
    -- the DBA.
    --
    -- USAGE
    -- sqlplus "sys/knl_test7 as sysdba" @plustrce
    --
    -- Catalog.sql must have been run before this file is run.
    -- This file must be run while connected to a DBA schema.

    set echo on
    drop role plustrace;
    create role plustrace;
    grant select on v_$sesstat to plustrace;
    grant select on v_$statname to plustrace;
    grant select on v_$mystat to plustrace;
    grant plustrace to dba with admin option;
    set echo off
    2)执行该sql创建plustrace角色。
    SQL> @./plustrce.sql
    SQL>
    SQL> drop role plustrace;
    drop role plustrace
    *
    ERROR at line 1:
    ORA-01919: role 'PLUSTRACE' does not exist

    SQL> create role plustrace;
    Role created.
    SQL>
    SQL> grant select on v_$sesstat to plustrace;
    Grant succeeded.
    SQL> grant select on v_$statname to plustrace;
    Grant succeeded.
    SQL> grant select on v_$mystat to plustrace;
    Grant succeeded.
    SQL> grant plustrace to dba with admin option;
    Grant succeeded.
    SQL>
    SQL> set echo off
    SQL>
    SQL> grant plustrace to rhys;
    Grant succeeded.

    3)登录rhys账户在此开启sql语句分析功能。
    SQL> conn rhys/amy
    Connected.
    SQL> set autotrace on
    SQL>
    发现该问题得到解决。
    ~

    SQL> r
      1  select ename,job,sal,dname from amy_emp,amy_dept where amy_emp.deptno=amy_dept.deptno
      2  and not exists
      3* (select * from amy_salgrade where amy_emp.sal between losal and hisal)

    no rows selected


    Execution Plan
    ----------------------------------------------------------
    Plan hash value: 2345751609

    ----------------------------------------------------------------------------------------------
    | Id  | Operation                    | Name          | Rows  | Bytes | Cost (%CPU)| Time     |
    ----------------------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT             |               |     1 |    42 |     9  (23)| 00:00:01 |
    |   1 |  NESTED LOOPS                |               |     1 |    42 |     9  (23)| 00:00:01 |
    |   2 |   NESTED LOOPS               |               |     1 |    42 |     9  (23)| 00:00:01 |
    |   3 |    MERGE JOIN ANTI           |               |     1 |    29 |     8  (25)| 00:00:01 |
    |   4 |     SORT JOIN                |               |    14 |   294 |     4  (25)| 00:00:01 |
    |   5 |      TABLE ACCESS FULL       | AMY_EMP       |    14 |   294 |     3   (0)| 00:00:01 |
    |*  6 |     FILTER                   |               |       |       |            |          |
    |*  7 |      SORT JOIN               |               |     5 |    40 |     4  (25)| 00:00:01 |
    |   8 |       TABLE ACCESS FULL      | AMY_SALGRADE  |     5 |    40 |     3   (0)| 00:00:01 |
    |*  9 |    INDEX RANGE SCAN          | REVERSE_INDEX |     1 |       |     0   (0)| 00:00:01 |
    |  10 |   TABLE ACCESS BY INDEX ROWID| AMY_DEPT      |     1 |    13 |     1   (0)| 00:00:01 |
    ----------------------------------------------------------------------------------------------

    Predicate Information (identified by operation id):
    ---------------------------------------------------

       6 - filter("AMY_EMP"."SAL"<="HISAL")
       7 - access(INTERNAL_FUNCTION("AMY_EMP"."SAL")>=INTERNAL_FUNCTION("LOSAL"))
           filter(INTERNAL_FUNCTION("AMY_EMP"."SAL")>=INTERNAL_FUNCTION("LOSAL"))
       9 - access("AMY_EMP"."DEPTNO"="AMY_DEPT"."DEPTNO")


    Statistics
    ----------------------------------------------------------
              0  recursive calls
              0  db block gets
              4  consistent gets
              0  physical reads
              0  redo size
            530  bytes sent via SQL*Net to client
            512  bytes received via SQL*Net from client
              1  SQL*Net roundtrips to/from client
              2  sorts (memory)
              0  sorts (disk)
              0  rows processed

    SQL>


     
  • 相关阅读:
    0 到 1 掌握:Vue 核心之数据双向绑定
    前端性能优化, 从哪些方面入手? (缩略版)
    MDN中定义的Function.prototype.call()和apply()与bind()
    应聘前端开发的一次笔试题目(某数据挖掘分析公司)
    应聘前端开发的一次笔试题目(某电信子公司)
    应聘前端开发的一次笔试题目(某外资公司)
    算法之杨辉三角形(Java语言)
    算法之求质数(Java语言)
    微信小程序背景
    备份恢复(一)
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3329049.html
Copyright © 2020-2023  润新知