• 在sqlplus中执行set autotrace on 报cannot set autotrace 错误解决方法


    今天在一台机器中想分析下执行计划,但是在sqlplus中输入set autotrace on 报cannot set autotrace 错误

    解决方法如下:

    首先必须采用用Oracle的sqlplus登陆sys账号

    sqlplus " sys/sys@XXX as sysdba "

    然后执行如下脚本:

    @?\sqlplus\admin\plustrce.sql (创建plustrace角色并授权)   

    @?\rdbms\admin\utlxplan.sql (创建执行计划的表)

    然后执行: grant all on plan_table to public; (也可以授权给某一个单独的用户)

                   grant plustrace to public ; 

    然后就可以进行 set autotrace了  但是只能在sqlplus中运行相关命令,在pl/sql developer等工具中仍然报错

    关于Autotrace几个常用选项的说明:
    SET AUTOTRACE OFF ---------------- 不生成AUTOTRACE 报告,这是缺省模式

    SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE只显示优化器执行路径报告

    SET AUTOTRACE ON STATISTICS -- 只显示执行统计信息

    SET AUTOTRACE ON ----------------- 包含执行计划和统计信息

    SET AUTOTRACE TRACEONLY ------ 同set autotrace on,但是不显示查询输出

    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)

    在磁盘上执行的排序量

  • 相关阅读:
    TREEVIEW拖拽对应修改目录
    shell脚本总结
    Linux将程序添加到服务的方法(通用【但最好还是用systemd】)
    Git客户端命令总结
    如何设置vim中tab键缩进---配置初始化设置
    在终端上创建Java项目及编译和运行
    Linux下Git安装及配置
    如何在eclipse的配置文件里指定jdk路径
    Redis总结和提取常用的和重要的命令
    Redis为什么是单线程
  • 原文地址:https://www.cnblogs.com/cangos/p/2293935.html
Copyright © 2020-2023  润新知