ITPub博客

首页 > 数据库 > 数据库开发技术 > AUTOTRACE介绍

AUTOTRACE介绍

原创 数据库开发技术 作者:yeahokay 时间:2008-05-15 09:02:22 0 删除 编辑

SQL*Plus AUTOTRACE 可以用来替代 SQL Trace 使用,AUTOTRACE 的好处是您不必设置跟踪文件的格式,并且它将自动为 SQL 语句显示执行计划。然而,AUTOTRACE 分析和执行语句;而EXPLAIN PLAN仅分析语句。

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

[@more@]

SQL> set autotrace on;

SP2-0613: 无法验证 PLAN_TABLE 格式或实体

SP2-0611: 启用EXPLAIN报告时出现错误

SP2-0618: 无法找到会话标识符。启用检查 PLUSTRACE 角色

SP2-0611: 启用STATISTICS报告时出现错误

该错误的的主要原因是由于当前用户下没有PLAN_TABLE这张表及相应的PLUSTRACE角色权限。

解决方法:

A.以SYS用户登录:

oracle>sqlplus '/ as sysdba';

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

SQL>@ E:oracleora92rdbmsadminutlxplan.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 角色的用户)。

grant plustrace to scott;或grant plustrace to public;

如果没有执行以下这步,则会出现这样的错误:

SQL> set autotrace on;
SP2-0613: 无法验证 PLAN_TABLE 格式或实体
SP2-0611: 启用EXPLAIN报告时出错

create public SYNONYM PLAN_TABLE for PLAN_TABLE;

但是为什么非的建立一个同义词哪?

对表都用了ALL ON 为什么还不行哪?


在论坛里找到的答案是:plan_table != sys.plan_table

设置Autotrace的命令

序号 列名 解释

1 SET AUTOTRACE OFF 此为默认值,即关闭Autotrace

2 SET AUTOTRACE ON 产生结果集和解释计划并列出统计

3 SET AUTOTRACE ON EXPLAIN 显示结果集和解释计划不显示统计

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

5 SET AUTOTRACE TRACEONLY STATISTICS 只显示统计

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) 在内存执行的排序量

6 sorts (disk) 在磁盘上执行的排序量

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/786540/viewspace-1004058/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    140
  • 访问量
    1115928