• SP2-0618:SP2-0611 Check PLUSTRACE role is enabled


    AUTOTRACE是一项 SQL*Plus 功能,自动跟踪为 SQL 语句生成一个执行计划并且提供与该语句的处理有关的统计。SQL*Plus AUTOTRACE 可以用来替代 SQL Trace 使用,AUTOTRACE 的好处是您不必设置跟踪文件的格式,并且它将自动为 SQL 语句显示执行计划。然而,AUTOTRACE 分析和执行语句;而EXPLAIN PLAN仅分析语句。

      使用AUTOTRACE不会产生跟踪文件。

      一、启用Autotrace功能。任何以SQL*PLUS连接的session都可以用Autotrace,不过还是要做一些设置的,否则可能报错。

      1、报错示例:SQL :> 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  sys/123 as sysdba;

      B.运行utlxplan.sql(rdbms/admin下) 脚本创建 PLAN_TABLE;

      SQL>@ D:oracleproduct10.2.0db_1RDBMSADMINutlxplan.sql

      C.通过执行 plustrce.sql(D:oracleproduct10.2.0db_1sqlplusadminplustrce.sql)脚本创建 plustrace 角色,这将V$ 视图上的选择权限授予该角色,也将 plustrace 角色授予 DBA 角 色,脚本部份内容如下:

      drop role plustrace;

      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 角色的用户)。或grant plustrace to public;

      二、设置Autotrace的命令。

      序号

      命令

      解释

      1

      SET AUTOTRACE OFF

      此为默认值,即关闭Autotrace

      2

      SET AUTOTRACE ON

      产生结果集和解释计划并列出统计

      3

      SET AUTOTRACE ON EXPLAIN

      显示结果集和解释计划不显示统计

      4

      SETAUTOTRACE TRACEONLY

      显示解释计划和统计,尽管执行该语句但您将看不到结果集

      5

      SET AUTOTRACE

      TRACEONLY STATISTICS

      只显示统计

      Eg:SET AUTOTRACE ON, set timing on, alter session set time_statistics=true;

      三、Autotrace执行计划的各列的涵义

      序号

      列名

      解释

      1

      ID_PLUS_EXP

      每一步骤的行号

      2

      PARENT_ID_PLUS_EXP

      每一步的Parent的级别号

      3

      PLAN_PLUS_EXP

      实际的每步

      4

      OBJECT_NODE_PLUS_EXP

      Dblink或并行查询时才会用到

      四、AUTOTRACE Statistics常用列解释

      序号

      列名

      解释

      1

      db block gets

      从buffer cache中读取的block的数量

      2

      consistent gets

      从buffer cache中读取的undo数据的block的数量

      3

      physical reads

      从磁盘读取的block的数量

      4

      redo size

      DML生成的redo的大小

      5

      sorts (memory)

      在内存执行的排序量

      7

      sorts (disk)

      在磁盘上执行的排序量

  • 相关阅读:
    日期转换DateTime
    linux 常用命令
    springcloud集成 xxl-job
    maven-阿里云镜像
    mysql 8.0+忘记root密码-linux
    java注解与自定义注解
    mysql联合索引的生效规则
    Maven常用命令及其作用、常见问题、常用命令使用场景举例
    反射的理解
    VirtualBox创建centos
  • 原文地址:https://www.cnblogs.com/hbhzz/p/3994067.html
Copyright © 2020-2023  润新知