我们都知道 autotrace工具是可以显示所执行查询的解析计划(explain plan)以及所用的资源。
我们先说一下autotrace的选项
SET AUTOTRACE OFF --------------- 不生成AUTOTRACE 报告,这是缺省模式
SET AUTOTRACE ON ---------------- 显示查询结果、执行计划和统计信息
SET AUTOTRACE ON EXPLAIN ------ 显示查询结果 及 执行计划
SET AUTOTRACE ON STATISTICS ---显示查询结果 及 统计信息
SET AUTOTRACE TRACEONLY -------不显示查询结果,仅显示执行计划及统计信息
SET AUTOTRACE TRACE STAT -------不显示查询结果,仅显示统计信息
以sysdba登录SQLPLUS
通过执行$ORACLE_HOME/sqlplus/admin/plustrce.sql 这一脚本创建一个plustrace的角色。
----------------------------------------------------
SQL> @plustrce
SQL>
SQL> drop role plustrace;
角色已删除。
SQL> create role plustrace;
角色已创建。
SQL>
SQL> grant select on v_$sesstat to plustrace;
授权成功。
SQL> grant select on v_$statname to plustrace;
授权成功。
SQL> grant select on v_$mystat to plustrace;
授权成功。
SQL> grant plustrace to dba with admin option;
授权成功。
SQL>
SQL> set echo off
----------------------------------------------------
将plustrace授予public角色
----------------------------------------------------
SQL> grant plustrace to public;
授权成功。
----------------------------------------------------
至此所有用户均可使用autotrace工具查看执行计划了。
总结:通过执行plustrace这一脚本,我们可以看到查看执行计划时其内部oracle所需要用到的视图。文中已经较详细的介绍了如何使所有用户均可使用autotrace工具的方法,当然你也可以将plustrace授权给其他用户,那么该用户将拥有使用autotrace工具的权限。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21143113/viewspace-1030642/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21143113/viewspace-1030642/