`
yde986
  • 浏览: 97782 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ORACLE AUTOTRACE介绍

阅读更多

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

只显示统计

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)

在磁盘上执行的排序量

 

分享到:
评论

相关推荐

    oracle 的Autotrace介绍

    oracle 的Autotrace介绍 是oracle10g的新技术,有人需要么

    oracle使用autotrace 功能

    AUTOTRACE是一个SQL*Plus工具,用于跟踪SQL的执行计划,收集执行时所耗用资源的统计信息,是SQL优化工具之一,下面给出启用AUTOTRACE 功能步骤。

    Oracle性能分析——使用set_autotrace_on和set_timing_on来分析select语句的性能.doc

    Oracle性能分析——使用set_autotrace_on和set_timing_on来分析select语句的性能.doc

    大牛出手Oracle SQL优化实例讲解

    1.Oracle如何得到一个很大的表 2.loop insert 实例 3.autotrace验证索引的性能到底有多大? 4.EXPLAIN验证SQL是否走索引 5.结合autotrace创建并验证函数索引 6.sql trace分析工具--TKPROF详细讲解 7.V$SQL视图详解加...

    深入解析Oracle.DBA入门进阶与诊断案例

    10.1.2 Oracle 10g AUTOTRACE功能的增强 473 10.1.3 AUTOTRACE功能的内部操作 475 10.1.4 使用AUTOTRACE功能辅助SQL优化 477 10.2 获取SQL执行计划的方法 479 10.2.1 通过V$SQL_PLAN获得执行计划 479 ...

    Oracle数据库管理员技术指南

    8.5.5 使用 AUTOTRACE 获得 SQL 语句 执行计划和统计数据 8.6 优化回退段 8.6.1 最小化回退段争用 8.6.2 使动态扩充最小化 8.6.3 分布回退段的 I/O 8.7 优化索引 8.7.1 怎样确定和重建产生碎片的索引 8.7.2 ...

    oracle怎么查看执行计划

    怎么进行autotrace进行查看执行计划

    Oracle 临时表之临时表的应用问题

    网上有人给出了佳的优化思路是:  1、先将大表中满足条件的记录抽出来生成一张临时表  2、再将这较小的临时表与另一张较小的表进行关联查询 ...只要把AUTOTRACE打开你会看到REDO的开销。  关于临时表的使用至

    ORACLE9i_优化设计与系统调整

    §12.8.6 AUTOTRACE 实用程序 157 第13章 数据访问方法 160 §13.1 使用索引的访问方法 161 §13.1.1 何时创建索引 161 §13.1.2 索引列和表达式的选择 161 §13.1.3 选择复合索引的主列 161 §13.1.4 要用可选择性...

    oracle执行计划

    oracle执行计划,设置autotrace允许显示DML语句的一些统计信息和/或查询计划。

    Oracle专家高级编程+(清晰).pdf

    着重调优的好书,非常经典,其中对于tkprof,autotrace等有很深刻的讲解

    深入解析OracleDBA入门进阶与诊断案例 3/4

     10.1 使用AUTOTRACE功能辅助SQL优化   10.2 获取SQL执行计划的方法   10.3 捕获问题SQL解决过度CPU消耗问题   10.4 使用SQL_TRACE/10046事件进行数据库诊断   10.5 使用物化视图进行翻页性能调整  ...

    深入解析OracleDBA入门进阶与诊断案例 2/4

     10.1 使用AUTOTRACE功能辅助SQL优化   10.2 获取SQL执行计划的方法   10.3 捕获问题SQL解决过度CPU消耗问题   10.4 使用SQL_TRACE/10046事件进行数据库诊断   10.5 使用物化视图进行翻页性能调整  ...

    深入解析OracleDBA入门进阶与诊断案例 4/4

     10.1 使用AUTOTRACE功能辅助SQL优化   10.2 获取SQL执行计划的方法   10.3 捕获问题SQL解决过度CPU消耗问题   10.4 使用SQL_TRACE/10046事件进行数据库诊断   10.5 使用物化视图进行翻页性能调整  ...

    oracle 性能优化

    oracle 性能优化 教你如果调优 sql>set autotrace on

    oracle performance tuning

    query processing,Explain plan,autotrace

    Oracle编程艺术

    设置SQL*Plus 的AUTOTRACE ......................................................... 35 配置Statspack............................................................................. 37 定制脚本...............

    Oracle数据库实验操作

    实验147:AUTOTRACE的使用 235 实验148:定位高消耗资源语句 236 实验149:收集数据库的统计信息 236 实验150:收集列的统计信息 238 实验151:自动收集统计信息 239 数据库的不同访问模式 240 实验152:全表扫描的...

    Oracle中使用DBMS_XPLAN处理执行计划详解

    主要介绍了Oracle中使用DBMS_XPLAN处理执行计划详解,文中包含大量实例,以及set autotrace命令对应实现等内容,需要的朋友可以参考下

Global site tag (gtag.js) - Google Analytics