最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracle配置AutoTrace监控sql执行计划

来源:动视网 责编:小采 时间:2020-11-09 11:58:16
文档

Oracle配置AutoTrace监控sql执行计划

Oracle配置AutoTrace监控sql执行计划:获取执行计划和执行成本,写出最优的sql语句,是每个Oracle开发人员和dba必须具备的能力之一。Oracle 11g以后已经默认为dba role 获取执行计划和执行成本,写出最优的sql语句,是每个Oracle开发人员和dba必须具备的能力之一。 Oracle 11g以后已
推荐度:
导读Oracle配置AutoTrace监控sql执行计划:获取执行计划和执行成本,写出最优的sql语句,是每个Oracle开发人员和dba必须具备的能力之一。Oracle 11g以后已经默认为dba role 获取执行计划和执行成本,写出最优的sql语句,是每个Oracle开发人员和dba必须具备的能力之一。 Oracle 11g以后已


获取执行计划和执行成本,写出最优的sql语句,是每个Oracle开发人员和dba必须具备的能力之一。Oracle 11g以后已经默认为dba role

获取执行计划和执行成本,写出最优的sql语句,是每个Oracle开发人员和dba必须具备的能力之一。

Oracle 11g以后已经默认为dba role自动打开autotrace?

配置autotrace:

进入到$ORACLE_HOME/rdbms/admin下面

进入到sqlplus中,

执行:

SQL> @utlxplan

创建分析表,为了方便操作,我们可以创建一个同义词

SQL> create public synonym plan_table for plan_table;

我们可以把这个表的权限赋给我们想要给的用户,也可以给public这样任何一个人就可以使用sql*plus进程跟踪啦。这样就不需要每个用户都按照自己的计划表啦。

SQL> grant all on plan to public;

创建plustrace的角色

进入到%ORACLE_HOME%/sqlplus/admin(linux,unix是$ORACLE_HOME/sqlplus/admin)

执行

SQL> @plustrce.sql

我们也可以把他的权限赋予给public

SQL> grant plustrace to public;

关于autotrace的操作:

安装成功后,会自动得到一个autotrace的报告,我们可以使用一个参数显示执行的时间:

SQL> set timing on

autotrace默认是关闭的,一下是他的详细启动:

SET AUTOTRACE OFF:不生成AUTOTRACE 报告,这是默认设置。
SET AUTOTRACE ON EXPLAIN:AUTOTRACE 报告只显示优化器执行路径。
SET AUTOTRACE ON STATISTICS:AUTOTRACE 报告只显示SQL 语句的执行统计信息。
SET AUTOTRACE ON:AUTOTRACE 报告既包括优化器执行路径,又包括SQL 语句的执行统计信息。
SET AUTOTRACE TRACEONLY:这与SET AUTOTRACE ON 类似,但是不显示用户的查询输出。

这是开启autotrace后的一个执行计划

SQL> insert into t values (2,'2');

已创建 1 行。

已用时间: 00: 00: 00.00

执行计划
----------------------------------------------------------

-------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-------------------------------------------------------------------------
| 0 | INSERT STATEMENT | | 1 | 100 | 1 (0)| 00:00:01 |
-------------------------------------------------------------------------

统计信息
----------------------------------------------------------
1 recursive calls
1 db block gets
1 consistent gets
0 physical reads
308 redo size
669 bytes sent via SQL*Net to client
5 bytes received via SQL*Net from client
4 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
1 rows processed

以下是对执行计划中的统计信息的解析:

项目

含义

备注

recursive calls

递归调用SQL的个数;Oracle在执行这个SQL的时候,有时候会生成很多额外的SQL语句,这个就成为递归调用;

db block gets

逻辑读,从数据buffer cache中读取;进行current模式读取;

consistent gets

逻辑读,进行一致读模式读取;

physical reads

物理读成本;

redo size

产生重做日志大小

bytes sent via SQL*Net to client

利用sql*net传入到client的字节数;

bytes received via SQL*Net from client

利用sql*net传出client的字节数;

SQL*Net roundtrips to/from client

sorts (memory)

内存中排序空间使用;

sorts (disk)

物理存储中排序空间使用;

如果memory空间使用不足,是会使用disk的空间的;

rows processed

Autorace工具是我们经常使用的性能评测工具,能够帮助解决很多问题。

文档

Oracle配置AutoTrace监控sql执行计划

Oracle配置AutoTrace监控sql执行计划:获取执行计划和执行成本,写出最优的sql语句,是每个Oracle开发人员和dba必须具备的能力之一。Oracle 11g以后已经默认为dba role 获取执行计划和执行成本,写出最优的sql语句,是每个Oracle开发人员和dba必须具备的能力之一。 Oracle 11g以后已
推荐度:
标签: 计划 安装 sql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top