tradingeconomics:Oracle autotrace使用说明 - qqread.com -- 同时解决“SP2-0618: 无法找到会话标识符。启用检查 PLUSTRACE 角色”问题

来源:百度文库 编辑:中财网 时间:2024/05/05 15:13:13
Oracle autotrace使用说明
巧巧读书 2009-07-10 qqread 佚名 技术论坛
一、启用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($ORACLE_HOME/rdbms/admin下) 脚本创建 PLAN_TABLE;
grant all on plan_table to scott;
C.通过执行 plustrce.sql($ORACLE_HOME/sqlplus/admin/plustrce.sql)脚本创建 plustrace 角色
grant plustrace to scott;
grant select any dictionary to scott;
二、设置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)
在磁盘上执行的排序量
--------------------------------------------------------------------------------------------------------------------------------
执行plustrace角色后,运行报以下错误:
SP2-0618: 无法找到会话标识符。启用检查 PLUSTRACE 角色
SP2-0611: 启用STATISTICS报告时出错
通过网上找资料,很快的解决了问题:
在http://www.itpub.net/thread-381342-1-1.html 中 说明了如何修改:
执行了下面的语句就可以了
SQL> grant select on v_$sesstat to plustrace;
授权成功。
SQL> grant select on v_$statname to plustrace;
授权成功。
SQL> grant select on v_$session to plustrace;
授权成功。