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
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
相关文章推荐
- Cannot SET AUTOTRACE 处理办法
- oracle,Cannot SET AUTOTRACE解决问题
- oracle,Cannot SET AUTOTRACE解决问题
- 输入set autotrace on 报cannot set autotrace 错误
- Oracle11g Cannot SET AUTOTRACE解决办法
- 在sqlplus中执行set autotrace on 报cannot set autotrace 错误解决方法
- 在sqlplus中执行set autotrace on 报cannot set autotrace 错误解决方法
- oracle,Cannot SET AUTOTRACE解决问题
- cannot SET AUTOTRACE问题解决
- Cannot set autotrace
- oracle,Cannot SET AUTOTRACE解决问题 (只能在sql plus下执行)
- 启用:set autotrace traceonly 报错:SP2-0618: 无法找到会话标识符。启用检查 PLUSTRACE 角色SP2-0611: 启用 STATISTICS 报告时出错
- set autotrace的用法和含意及区别
- ORACLE开启执行计划 set autotrace on
- set autotrace 报错sp2-0613&sp2-0618
- ORACLE set autotrace in SQL*Plus
- set autotrace常用操作
- set autotrace 到底有没有执行SQL?
- [Sql*Plus] Set up Explain Plan and Autotrace
- 在sqlplus中set autotrace on 出错的解决办法( Unable to verify PLAN_TABLE)