SQL> set autotrace traceonly explain

 

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

 cuug每周五晚8点都有免费网络课程,如需了解可点击cuug官网。

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.