|
 |
公 告 |
|
 |
登 陆 |
|
 |
日志日历 |
|
 |
日 志 |
|
 |
评 论 |
|
 |
链 接 |
|
 |
统 计 |
| |
|
|
标题: |
|
如何启用sqlplus的AutoTrace功能,并且保存sql的执行计划(附explain.sql脚本) |
|
如何启用sqlplus的AutoTrace功能,并且保存sql的执行计划(附explain.sql脚本)
关于这个功能的现实意义:公司连机到吉林远程操作很慢,但是我们开发人员又要看到一些sql在生产库上面的执行计划,所以可以用该功能让现场把sql的执行计划分析后保存到文本文件下,然后只要把文件发给总公司的开发人员调优就行了~D:\ >sqlplus /nolog。。。SQL> connect / as sysdba已连接。SQL> @?\rdbms\admin\utlxplan表已创建。SQL> create public synonym plan_table for plan_table;同义词已创建。SQL> grant all on plan_table to public ;授权成功。()SQL> @?\sqlplus\admin\plustrce……SQL> grant plustrace to public ;授权成功。说明:DBA用户首先被授予了plustrace角色,然后我们可以把plustrace授予public这样所有用户都将拥有plustrace角色的权限.然后就可以使用AutoTrace的功能了.关于Autotrace几个常用选项的说明:SET AUTOTRACE OFF ---------------- 不生成AUTOTRACE 报告,这是缺省模式SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE只显示优化器执行路径报告 SET AUTOTRACE ON STATISTICS -- 只显示执行统计信息SET AUTOTRACE ON ----------------- 包含执行计划和统计信息 SET AUTOTRACE TRACEONLY ------ 同set autotrace on,但是不显示查询输出接下去执行需要分析的脚本explain.sql:在sqlplus执行需在绝对路径前加@,如图:
根据explain.sql脚本里面spool命令指定的路径(spool D:\explain.txt;)找到该文本,例如 D:\explain.txt;
里面就是所有sql的执行计划。
explain.sql脚本:
set echo on; set timing on; set termout off; set trimspool on; SET AUTOTRACE TRACEONLY; spool on; spool D:\explain.txt; 语句1 ; 语句2 ; 语句3 ; ... 语句n ; spool off;
|
|
|
| |