Oracle教程之AUTOTRACE的使用方法
原创
©著作权归作者所有:来自51CTO博客作者Oracle小混子的原创作品,请联系作者获取转载授权,否则将追究法律责任
1、安装
用sys用户运行脚本utlxplan.sql
建立这个表的脚本是:(UNIX:$ORACLE_HOME/rdbms/admin,
Windows:%ORACLE_HOME%\rdbms\admin)ultxplan.sql。
SQL> connect sys/sys@colm2 as sysdba;
SQL> @C:\oracle\ora92\rdbms\admin\utlxplan.sql;
SQL> create public synonym plan_table for plan_table; --建立同义词 (9i)
SQL> grant all on plan_table to public; --授权所有用户
要在数据库中建立一个角色plustrace,用sys用户运行脚本plustrce.sql来创建这个角色,这个脚本在目录(UNIX:$ORACLE_HOME/sqlplus/admin,
Windows:%ORACLE_HOME%\sqlplus\admin)中;
SQL> @C:\oracle\ora92\sqlplus\admin\plustrce.sql;
然后将角色plustrace授予需要autotrace的用户;
SQL>grant plustrace to public;
经过以上步骤的设置,就可以在sql*plus中使用autotrace了
2、使用
使用起来非常方便,只要使用一条命令就可以了
SQL>SET AUTOTRACE ON;
*autotrace功能只能在SQL*PLUS里使用
3、其他一些使用方法
(1)在SQLPLUS中得到语句总的执行时间
SQL> set timing on;
(2)只显示执行计划--(会同时执行语句得到结果)
SQL>set autotrace on explain
比如:
sql> select count(*) from test;
count(*)
-------------
4
Execution plan
----------------------------
0 select statement ptimitzer=choose (cost=3 card=1)
1 0 sort(aggregate)
2 1 partition range(all)
3 2 table access (full) of 't_test' (cost=3 card=900)
(3)只显示统计信息---(会同时执行语句得到结果)
SQL>set autotrace on statistics;
(备注:对于SYS用户,统计信息将会是0)
(4)显示执行计划,屏蔽执行结果--(但语句实质还执行的
SQL> set autotrace on traceonly;
(备注:同SET AUTOTRACE ON; 只不过不显示结果,显示计划和统计)
(5)仅仅显示执行计划,屏蔽其他一切结果--(语句还是执行了)
SQL>set autotrace traceonly explain;
对于仅仅查看大表的Explain Plan非常管用。
(6)关闭
SQL>set autotrace off;
总结:SQLPLUS
下的自动显示功能,在看执行计划中其语句还是会被执行的。尤其在执行UPDATE/DELETE语句时请千万注意,ORACLE是先执行脚本同时显示执行计划的,即使使用set
autotrace on traceonly explain;这个时候推荐使用EXPLAIN PLAN FOR来看或者PL/SQL等第三方工具
上一篇:Oracle教程之存储过程的使用
下一篇:Oracle数据对象--视图
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
谷歌地图数据采集软件使用方法
专为做外贸的朋友开发的一款基于谷歌地图数据采集的软件,可以采集任意国家、任意地区的公司地址、电话号码、邮件地址等数据。
谷歌地图 谷歌地图数据采集软件 谷歌地图数据采集 谷歌地图数据采集器