SQL> set autotrace traceonly explain

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

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

解决方法:

1.       以SYS用户登录

CONNECT / @ as SYSDBA ;

1. 创建PLAN_TABLE(如果未创建)

运行utlxplan.sql(ORACLE_HOME/rdbms/admin下)脚本;

2. 创建plustrace角色(如果未创建)

执行plustrce.sql(ORACLE_HOME/sqlplus/admin/plustrce.sql)脚本;

3. 将plustrace role赋给当前用户

grant plustrace to scott;或grant plustrace to public;

具体操作

1、创建基础表

运行$ORACLE_HOME/rdbms/admin/utlxplan脚本来创建plan_table
scott@ORCL> conn system/redhat   --使用system帐户登陆
 Connected.
system@ORCL> start $ORACLE_HOME/rdbms/admin/utlxplan  --执行utlxplan脚本
 Table created.
system@ORCL> create public synonym plan_table for plan_table;  --为表plan_table创建公共同义词
Synonym created.
system@ORCL> grant all on plan_table to public;   --将同义词表plan_table授予给所有用户
Grant succeeded.
 
2、创建角色
运行$ORACLE_HOME/sqlplus/admin/plustrce.sql脚本
 system@ORCL> conn / as sysdba   --使用sysdba帐户登陆
    onnected.
sys@ORCL> start $ORACLE_HOME/sqlplus/admin/plustrce.sql   --执行创建角色的脚本
sys@ORCL> create role plustrace;
Role created.
 
sys@ORCL>
sys@ORCL> grant select on v_$sesstat to plustrace;
 Grant succeeded.
 
sys@ORCL> grant select on v_$statname to plustrace;
Grant succeeded.
sys@ORCL> grant select on v_$mystat to plustrace;
Grant succeeded.
sys@ORCL> grant plustrace to dba with admin option;
Grant succeeded.
 
设置Autotrace的命令
序号       列名                           解释                           
        set autotrace off :            缺省值,将不生成autotrace 报告
        set autotrace on :             包含执行计划和统计信息
        set autotrace traceonly :      等同于set autotrace on,但不显示查询输出的结果
        set autotrace on explain :     只显示优化器执行路径报告
        set autotrace on 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)          在磁盘上执行的排序量