使用oracle的10046事件跟踪SQL语句

我们在分析应用程序性能问题的时候,更多地需要关注其中SQL语句

的执行情况,因为通常应用程序的性能瓶颈会在数据库这边,因此数据库的sql语句是我们优化的重点。利用Oracle的10046事件,可以跟踪应用程序

所执行的SQL语句,并且得到其解析次数.执行次数,CPU使用时间等信息。这对我们分析、定位数据库性能问题是非常有用的。

具体的方法如下:

1、首先获得spid、sid、serial#,machine为连接oracle的机器名

SQL> select b.spid,a.sid,a.serial#,a.machine from v$session a,v$process b where a.paddr =

b.addr and a.machine='SYS_F85';

SPID SID SERIAL# MACHINE

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

24722 15 196 SYS_F85

2、利用10046事件开始跟踪

SQL>execute sys.dbms_system.set_ev(15,196,10046,1,'');

PL/SQL procedure successfully completed.

参数说明:

15:SID

196:SERIAL#

注意这里必须以sysdba登录。

3、在应用程序中执行对数据库的操作,比如性能较差的一些查询、插入、删除操作等。

4、关闭事件结束跟踪

SQL>execute sys.dbms_system.set_ev(15,196,10046,0,'');

PL/SQL procedure successfully completed.

5、获得产生的跟踪文件所在的目录

SQL> select value from v$parameter where name = 'user_dump_dest';

VALUE

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

/oracle/admin/ora9i/udump

转到该目录下可以看到生成了一个ora9i_ora_24722.trc文件,此处的24722即SPID的值。

6、在命令行下执行oracle的tkprof命令,将ora9i_ora_24722.trc转化为文本文件。如:

$ tkprof ora9i_ora_24722.trc ora9i_ora_24722.sql

此时在ora9i_ora_24722.sql文件中,就可以看到刚才执行应用程序时所执行的sql语句的执行次数、

CPU使用时间等数据。

come from:http://cosio.itpub.net/post/10244/473238

oracle 10046事件查看,使用oracle的10046事件跟踪SQL语句相关推荐

  1. 查看公司和公司产品数的sql语句

    查看公司和公司产品数的sql语句 select * from (select C_ID,(select count(1) from product where C_ID=companyinfo.C_I ...

  2. oracle 10046跟踪自己,使用oracle的10046事件跟踪SQL语句

    我们在分析应用程序性能问题的时候,更多地需要关注其中SQL语句的执行情况,因为通常应用程序的性能瓶颈会在数据库这边,因此数据库的sql语句是我们优化的重点.利用Oracle的10046事件,可以跟踪应 ...

  3. oracle命令行查看编码,Oracle数据库查看编码和修改编码

    首先查看oracle数据库的编码 SQL> select * from nls_database_parameters where parameter ='NLS_CHARACTERSET'; ...

  4. oracle通过数据字典查看序列,oracle数据字典,oracle字典

    oracle数据字典,oracle字典 一.数据字典 数据字典是oracle存放有关数据库信息的地方,几乎所有的系统信息和对象信息都可在数据字典中进行查询.数据字典是oracle数据库系统的信息核心, ...

  5. linux下oracle安装路径查看,Linux Oracle 安装目录说明

    Linux 操作系统主要目录 /bin:存放着一百多个Linux下常用的命令.工具 /dev:存放着Linux下所有的设备文件 /home:用户主目录,每建一个用户,就会在这里新建一个与用户同名的目录 ...

  6. ORACLE 查看有多个执行计划的SQL语句

    在SQL优化过程,有时候需要查看哪些SQL具有多个执行计划(Multiple Executions Plans for the same SQL statement),因为同一个SQL有多个执行计划一 ...

  7. 在Oracle中不通过存储过程一次执行多条SQL语句Oracle PL/SQL

    PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL ...

  8. Oracle 行转列pivot 、列转行unpivot 的Sql语句总结

    多行转字符串 这个比较简单,用||或concat函数可以实现 [sql] view plaincopy print? select concat(id,username) str from app_u ...

  9. oracle ash 脚本 查询,[20210112]ashtop查询特定表的SQL语句.txt

    [20210112]ashtop查询特定表的SQL语句.txt --//ashtop.sql是Tanel Poder大师写的查看  Display top ASH time 的脚本,它非常灵活. -- ...

最新文章

  1. Spring Cloud应用开发(四:服务容错保护)
  2. DOM-based XSS Test Cases
  3. WPS 去掉自动打开的文档漫游和在线模板
  4. windowserver2012 R2 上安装sqlserver2017 报错 KB2919355 安装规则失败
  5. 基于MATLAB的小波去噪
  6. 周其对话农民丰收节交易会 乡村振兴不能单单从乡村着眼
  7. phpUnit 安装,实例和简单部署
  8. mysql怎么访问用户B_MySQL访问控制和用户管理
  9. ORACLE查询表最近更改的数据
  10. php访问日记在哪,nginx访问日志在哪里
  11. scrapy 在迭代爬取时被拒 offsite 增加dont_filter=True
  12. 14. 随需应变:网站的可扩展架构
  13. Pandas学习笔记- DataFrame
  14. 【88.4】HTTP权威指南
  15. 世界地图可以无限放大_国外测评 | 老蛙百微镜头的全方位解析,2倍放大倍率的优质表现!...
  16. 计算机为什么无法搜索功能,电脑搜索功能不能用怎么办?电脑搜索不能用的解决方法...
  17. 基于51单片机及MAX6675的8通道测温系统 protues仿真
  18. RocketMQ事务消息学习及刨坑过程
  19. Timesnet: Temporal 2d-variation modeling for general time series analysis
  20. BZOJ[3772]精神污染 二维数点

热门文章

  1. JavaScript脚本语⾔基础语法笔记总结
  2. flutter 参数函数_Flutter 基本用法摘记
  3. MAC如何查看Tensorflow版本号
  4. photoshop(ps)如何裁剪不规则图片
  5. JavaScripts基础
  6. Windows自动改计算机名和加入域工具
  7. Ubuntu系统查看内存信息
  8. 如何防止PCB印制板翘曲度
  9. TensorFlow MatMul操作rank错误问题记录
  10. 大学生创业能成功吗?——蒋涛 PK Leo实录(8)