您的位置:首页 > 其它

Cannot set autotrace

2014-07-09 16:45 309 查看
本文转载自:http://zhangyafeng0917.blog.163.com/blog/static/4443641220127821330206/

这个错误在网上找答案不好找,所以保存。

首先必须采用用Oracle的sqlplus登陆sys账号
sqlplus "
sys/sys@XXX as sysdba "  或 conn
sys/sys@orcl 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)
在磁盘上执行的排序量
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: