当前位置: 首页 > news >正文

oracle 10046事件跟踪

10046事件是一个很好的排查sql语句执行缓慢的内部事件,具体设置方式如下:

根据10046事件跟踪SQL语句

1、 alter session set events '10046 trace name context forever,level 12';

2、执行SQL语句

3、关闭10046事件

alter session set events '10046 trace name context off';

4、查找生成的TARCE文件

select value from v$diag_info where name='Default Trace File';

这边可以利用一个小工具tkprof来格式化tarce文件,方便阅读

用法: tkprof tracefile outputfile [explain= ] [table= ] [print= ] [insert= ] [sys= ] [sort= ] …

tracefile:你要分析的trace文件

outputfile:格式化后的文件

explain=user/password@connectstring

table=schema.tablename

    注1:这两个参数是一起使用的,通过连接数据库对在trace文件中出现的每条sql语句查看执行计划,并将之输出到outputfile中

    注2:该table必须是数据库中不存在的,如果存在会报错

print=n            :只列出最初N个sql执行语句

insert=filename    :会产生一个sql文件,运行此文件可将收集到的数据insert到数据库表中

sys=no             :过滤掉由sys执行的语句

record=filename    :可将非嵌套执行的sql语句过滤到指定的文件中去

waits=yes|no       :是否统计任何等待事件

aggregate=yes|no   :是否将相同sql语句的执行信息合计起来,默认为yes

sort= option       :设置排序选项,选项如下

举例:

1.列出前2条sql语句的执行情况:

[oracle@silent trace]$ tkprof orcl_ora_4601_10046.trc out.txt print=2

2.将数据保存到数据库:

[oracle@silent trace]$ tkprof orcl_ora_4601_10046.trc out.txt insert=insert.sql

 执行后会在当前目录产生insert.sql文件,执行该文件即可将数据保存到数据库

3.提取sql执行语句:

[oracle@silent trace]$ tkprof orcl_ora_4601_10046.trc out.txt record=sqlstr.sql

[oracle@silent trace]$ cat sqlstr.sql

4.产生执行计划:

[oracle@silent trace]$ tkprof orcl_ora_123981.trc out.txt explain=test/oracle@PDB table=test.a,test.b

在产生的out.txt文件中会体现其执行计划

http://www.lryc.cn/news/261256.html

相关文章:

  • 微软自带浏览器Edge,无法关闭“保存历史记录网站的屏幕截图”解决方案
  • 讲座 | 颠覆传统摄像方式乃至计算机视觉的“脉冲视觉”
  • uniGUI学习之UniHTMLMemo1富文本编辑器
  • 详细教程 - 从零开发 鸿蒙harmonyOS应用 第四节 (鸿蒙Stage模型 登录页面 ArkTS版 推荐使用)
  • uniapp怎么实现授权登录
  • 从零开始:前端架构师的基础建设和架构设计之路
  • 椋鸟C语言笔记#26:数据在内存中的存储(大小端字节序)、浮点数的存储(IEEE754)
  • 设计模式——组合模式(结构型)
  • 鸿蒙小车之多任务调度实验
  • 【报错栏】(vue)Module not found: Error: Can‘t resolve ‘element-ui‘ in xxx
  • seaborn库图形进行数据分析(基于tips数据集)
  • AC843. n皇后问题--60
  • Js WebSocket类,收发Json,带心跳,断线重连
  • VBA技术资料MF96:单字段多条件高级筛选
  • 电子取证中Chrome各版本解密Cookies、LoginData账号密码、历史记录
  • Axure元件基本介绍进阶
  • 安卓11添加切换以太网动态静态方法
  • 初级数据结构(五)——树和二叉树的概念
  • pdf读取内容缺失(漏字/文字丢失)问题
  • c#面试基础语法——现有⼀个整数number,请写⼀个⽅法判断这个整数是否是2的N次⽅
  • 27系列DGUS智能屏发布:可实时播放高清模拟信号摄像头视频
  • YOLOv8改进 | 2023主干篇 | 替换LSKNet遥感目标检测主干 (附代码+修改教程+结构讲解)
  • 【工具】VUE 前端列表拖拽功能代码
  • 人工智能与量子计算:开启未知领域的智慧之旅
  • 2023了,前端实现AI电子秤思路分析
  • CSS学习
  • Flask基本用法:一个HelloWorld,搭建服务、发起请求
  • Tomcat-安装部署(源码包安装)
  • 【Hadoop_06】MapReduce的概述与wc案例
  • Qt点击子窗口时父窗口标题栏高亮设计思路