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文件中会体现其执行计划

相关推荐

  1. oracle 10046事件跟踪

    2023-12-17 09:12:03       55 阅读
  2. Oracle测试10046参数及打印结果

    2023-12-17 09:12:03       35 阅读
  3. oracle跟踪

    2023-12-17 09:12:03       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-17 09:12:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-17 09:12:03       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-17 09:12:03       82 阅读
  4. Python语言-面向对象

    2023-12-17 09:12:03       91 阅读

热门阅读

  1. LeetCode经典150题Golang版.189. 轮转数组

    2023-12-17 09:12:03       67 阅读
  2. 关于vue3中响应式依赖注入provide/inject

    2023-12-17 09:12:03       59 阅读
  3. Docker可视化管理工具docker.ui的搭建

    2023-12-17 09:12:03       68 阅读
  4. RecyclerView中的设计模式解读

    2023-12-17 09:12:03       64 阅读
  5. linux修复SSL/TLS协议信息泄露漏洞(CVE-2016-2183)

    2023-12-17 09:12:03       66 阅读
  6. 串口通信(5)-C#串口通信数据接收不完整解决方案

    2023-12-17 09:12:03       60 阅读
  7. Kubernetes Pod 网段与主机内网网段互通

    2023-12-17 09:12:03       66 阅读
  8. 基于SpringBoot和微信小程序的校园快递平台系统

    2023-12-17 09:12:03       63 阅读