您的位置:首页 > 其它

cannot set autotrace

2011-10-19 13:40 246 查看
今天在PL/SQL DEVELOPER工具中,从Command窗口输入set autotrace on 报错:“cannot set autotrace”

SQL> set autotrace on

Cannot SET AUTOTRACE
可能是当初没有进行设置吧,不过10g好像不用设置,不管他了,按照相关的操作做一遍吧,印象也比较深刻,于是参考eygle的blog,对我的测试环境做了如下操作:

1. create table PLAN_TABLE

D:\oracle\ora92>sqlplus /nolog

SQL> connect / as sysdba

已连接。

SQL>@?\rdbms\admin\utlxplan.sql

表已创建。(create table PLAN_TABLE)

2. create synonym plan_table

SQL> create public synonym plan_table for plan_table;

同义词已创建。

3. grant priv on plan_table

SQL> grant all on plan_table to public/user ;

授权成功。

4. creat role plustrace

SQL>@?\sqlplus\admin\plustrce.sql

SQL>

SQL> drop role plustrace;

drop role plustrace

*

ERROR 位于第 1 行:

ORA-01919: 角色'PLUSTRACE'不存在

SQL> create role plustrace;

角色已创建

SQL> grant select on v_$sesstat to plustrace;

授权成功。

SQL> grant select on v_$statname to plustrace;

授权成功。

SQL> grant select on v_$session to plustrace;

授权成功。

SQL> grant plustrace to dba with admin option;

授权成功。

SQL> set echo off

做完授权以后,再次登陆PL/SQL DEVELOPER工具中的COMMAND窗口,执行 set autotrace on还是报错:“cannot set autotrace”,奇怪,怀疑是工具的问题,于是输入cmd,用sqlplus登陆,结果是可以的,操作步骤如下:

SQL> connect leiz/leiz

已连接。

SQL> set autotrace on

所以断定是PL/SQL DEVELOPER工具的问题,google一下,查到一些朋友和我遇到了同样的问题:pl/sql developer并不完全支持所有的sql plus的命令。set autotrace就属于不支持的语句,此外还有show parameters ...,whenever ...等。在这里记录一下。

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

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

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

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

SET AUTOTRACE TRACEONLY ------ 同set autotrace on,但是不显示查询输出
参考文献:

1.http://www.eygle.com/faq/AutoTrace.htm

2.http://topic.csdn.net/t/20050920/14/4281733.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: