zoukankan      html  css  js  c++  java
  • ORACLE AUTOTRACE介绍【转】

    转自 可乐加冰 http://sonic.itpub.net/post/17575/107300

    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 '/ as sysdba';

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

    SQL>@ D:oracleora81RDBMSADMINutlxplan.sql

    C.通过执行 plustrce.sql(ORACLE_HOME/sqlplus/admin/plustrce.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 角色的用户)

    二、设置Autotrace的命令。

    序号

    命令

    解释

    1

    SET AUTOTRACE OFF

    此为默认值,即关闭Autotrace

    2

    SET AUTOTRACE ON

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

    3

    SET AUTOTRACE ON EXPLAIN

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

    4

    SETAUTOTRACE TRACEONLY

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

    5

    SET AUTOTRACE

    TRACEONLY STATISTICS

    只显示统计

    EgSET 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)

    在磁盘上执行的排序量

  • 相关阅读:
    使用自定义模板来弥补eclipse没有新建Filter的功能
    Eclipse快捷键-方便查找
    清除Eclipse中的内置浏览器中的历史记录
    Eclipse 调试器:零距离接触实战技巧
    Eclipse 插件开发 —— 深入理解查找(Search)功能及其扩展点
    JSEclipse—Eclipse上的JavaScript开发工具
    eclipse背景颜色调整参考(绿色养眼哟),其他工具也可以设置
    Eclipse,以及tomcat使用时可能会遇到的几个问题
    eclipse 快捷键设置
    eclipse3.3插件更新攻略
  • 原文地址:https://www.cnblogs.com/Godblessyou/p/1779217.html
Copyright © 2011-2022 走看看