前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >启用 AUTOTRACE 功能

启用 AUTOTRACE 功能

作者头像
Leshami
发布2018-08-07 10:52:46
6180
发布2018-08-07 10:52:46
举报
文章被收录于专栏:乐沙弥的世界

--=======================

-- 启用 AUTOTRACE 功能

--=======================

AUTOTRACE是一个SQL*Plus工具,用于跟踪SQL的执行计划,收集执行时所耗用资源的统计信息,是SQL优化工具之一,下面给出启用

AUTOTRACE 功能步骤。

一、创建基础表

运行$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.

二、创建角色

运行$ORACLE_HOME/sqlplus/admin/plustrce.sql脚本

system@ORCL> conn / as sysdba --使用sysdba帐户登陆

onnected.

sys@ORCL> start $ORACLE_HOME/sqlplus/admin/plustrce.sql --执行创建角色的脚本

sys@ORCL>

sys@ORCL> drop role plustrace;

drop role plustrace

*

ERROR at line 1:

ORA-01919: role 'PLUSTRACE' does not exist

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.

三、角色的授予

在创建角色后,DBA首先被授予了该角色,且可以将角色授予其它组和用户。可以手工把plustrace授予给public,

则该数据库内所有的用户都将拥有plustrace角色的权限。也可以单独授予给某个组和用户

授予给所有用户

sys@ORCL> grant plustrace to public;

授予给单独用户

sys@ORCL> grant plustrace to scott;

完成上述设置之后即可使用autotrace 功能

四、AUTOTRACE的几个选项

在sql提示符下输入set autot后将会给出设置autotrace的提示,如下

scott@ORCL> set autot

Usage: SET AUTOT[RACE] {OFF | ON | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]

set autotrace off :缺省值,将不生成autotrace 报告

set autotrace on :包含执行计划和统计信息

set autotrace traceonly :等同于set autotrace on,但不显示查询输出的结果

set autotrace on explain :只显示优化器执行路径报告

set autotrace on statistics :只显示执行统计信息

scott@ORCL> set autotrace on;

scott@ORCL> select * from emp where ename='SCOTT';

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

---------- ---------- --------- ---------- --------- ---------- ---------- ----------

7788 SCOTT ANALYST 7566 19-APR-87 3000 20

Execution Plan

----------------------------------------------------------

Plan hash value: 3956160932

--------------------------------------------------------------------------

| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |

--------------------------------------------------------------------------

| 0 | SELECT STATEMENT | | 1 | 37 | 3 (0)| 00:00:01 |

|* 1 | TABLE ACCESS FULL| EMP | 1 | 37 | 3 (0)| 00:00:01 |

--------------------------------------------------------------------------

Predicate Information (identified by operation id):

---------------------------------------------------

1 - filter("ENAME"='SCOTT')

Statistics

----------------------------------------------------------

0 recursive calls

0 db block gets

8 consistent gets

0 physical reads

0 redo size

824 bytes sent via SQL*Net to client

385 bytes received via SQL*Net from client

2 SQL*Net roundtrips to/from client

0 sorts (memory)

0 sorts (disk)

1 rows processed

五、更多参考

Oracle 冷备份

SPFILE错误导致数据库无法启动

Oracle 用户、对象权限、系统权限

Oracle 角色、配置文件

Oracle 联机重做日志文件(ONLINE LOG FILE)

Oracle 控制文件(CONTROLFILE)

Oracle 表空间与数据文件

Oracle 归档日志

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2010年11月23日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档