今天在一套生产的库中执行脚本查询锁住的对象,执行下面一个SQL:

select username, lockwait, status, machine, programfrom v$sessionwhere sid in (select session_id from v$locked_object);

结果这么简单的一条语句竟然执行了30多秒,然后在其它环境中都是秒出,这显然有问题,那么我们该如何定位问题所在呢?

SQL_TRACE是Oracle提供的用于进行SQL跟踪的手段,是强有力的辅助诊断工具。我们可以通过sql_trace去分析下为什么上面的sql会这么慢。

#对当前的会话开启sql_trace

SQL> alter session set sql_trace=true;Session alteredSQL> select username, lockwait, status, machine, programfrom v$sessionwhere sid in (select session_id from v$locked_object);no rows selected#关闭当前会话的sql_trace
SQL> alter session set sql_trace=false;Session altered.

接下来找到对应的trace文件,利用tkprof工具将得到的trace文件格式化,输出结果如下:

可以看到执行了36s之多,明显有问题的地方就是执行计划里面显示X K T A D M 这 张 表 竟 然 有 2000 万 之 多 , 显 然 有 问 题 ! 还 有 X KTADM这张表竟然有2000万之多,显然有问题!还有X KTADM这张表竟然有2000万之多,显然有问题!还有XKTCXB表显示有70多万,显然也不正确。

可以看到实际值与之相差很多。这说明数据字典中记录的统计信息与实际情况不符合,那么我们只需要重新收集这两张表的统计信息即可。

然后我们再去执行同样的语句结果就秒出了!

sql_trace跟踪分析方法相关推荐

  1. MAML-Tracker: 目标跟踪分析:CVPR 2020(Oral)

    MAML-Tracker: 目标跟踪分析:CVPR 2020(Oral) Tracking by Instance Detection: A Meta-Learning Approach 论文链接:h ...

  2. 拥抱敏捷的用例分析方法

    引言 用例分析方法的传播与UML和RUP的关系密不可分.笔者当年学习用例分析最主要的并不是根据那两本UML经典书<UML用户指南>.<UML参考手册>,而是根据RUP更多一些. ...

  3. 理解进程调度时机跟踪分析进程调度与进程切换的过程

    虞啸川 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 Linux既支持 ...

  4. 数据分析20大基本分析方法技术总结【分析目的、分析案例、分析方法与思路】

    文章目录 零.分析方法基础 一.5W2H分析法 二.逻辑树分析法(类似思维导图) 三.PEST分析法(行业分析方法) 四.多维度拆解分析法(维度+拆解) 五.对比分析法 六.假设检验分析法 七.相关分 ...

  5. 采购中的高级分析方法

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文来自云+社区翻译社,作者Steve Wang Streamline Processes, 多译为简化流程,而译者将则其翻译为流线化流程. ...

  6. 性能之巅:常用性能分析方法

    目录 为了便于总结,这些方法已经被归类成了不同的类型 1.街灯讹方法 2.随机变动讹方法 3.责怪他人讹方法 4.AdHoc核对清单法 5.问题陈述法 6.科学法 7.诊断循环 8.工具法 9.USE ...

  7. 实验八---理解进程调度时机跟踪分析进程调度与进程切换的过程

    实验目的: 使用gdb跟踪分析一个schedule()函数,理解Linux系统中进程调度的时机. 实验过程: 登陆实验楼虚拟机http://www.shiyanlou.com/courses/195 ...

  8. 网站用户行为数据收集和分析方法

    来源 为改善网站的可用性, 一般采用可用性工程方法, 其核心是以用户为中心的设计方法论(UCD).综合介绍了目前国内外对于用户行为数据收集和分析方法所进行的研究, 各种方法的特点, 并介绍一些利用相应 ...

  9. UPX脱壳逐一跟踪分析

    UPX脱壳逐一跟踪分析 写在前面 OD跟踪命令 先结合PE知识分析 分析"新年快乐.exe" 写在前面 之前看到的UPX脱壳文章都只是教了方法,对UPX的原理少有提及.看了< ...

最新文章

  1. 请解释Spring Bean 的生命周期?
  2. 使用fetch封装请求_关于如何使用Fetch API执行HTTP请求的实用ES6指南
  3. python局部变量含义_Python的变量
  4. 3d 室内地图_微软科研人员欲通过3D点云混淆技术保护AR定位隐私
  5. 【leetcode79】Single Number III
  6. C语言 VS输入输出字符设置
  7. dell服务器r730老自动重启_Dell R730服务器安装windows server 2008 R2蓝屏问题
  8. 每日一句20191126
  9. Atitit.软件的建模种类and 建模语言选型and UML???
  10. mysql监视执行sql语句_监控mysql执行的sql语句
  11. STS代码式预付费用电管理系统
  12. 简单实现用户注册验证功能的步骤及代码
  13. 年底知识「大甩卖」,知识付费这杯羹还有的分吗?
  14. jpg、png、jpeg区别与压缩等知识总结 —— 性能优化篇
  15. Linux系统(三) 系统基础
  16. DWcs4右下角没有html文件,dreamweaver cs4 (dwcs4)安装图文教程
  17. 微信小程序getPhoneNumber获取手机号,解决code失效问题
  18. SAP FICO 第五节 物料分类账ML配置及应用
  19. 美国计算机科学专业申请条件,美国CS计算机科学专业申请条件有哪些?
  20. 我爱你用计算机怎么表示,特殊密码表示我爱你

热门文章

  1. 关于我在编程里学表白这件事。。。。【python表白代码】
  2. 【Spring Boot实战】源码解析Spring Boot自动配置原理
  3. cJSON 使用详解
  4. java列表末尾添加元素_在迭代它时将元素添加到Java LinkedList的末尾
  5. Hadoop快速入门——入门考试(伪分布式60+编码25+执行jar15)
  6. 什么是java变量,java变量的定义
  7. Azure Blob 文件下载及本地开发使用配置
  8. 每月明星计划(12 月),ECHO:我们的意见万岁!
  9. 【前端】elementUI分页场景下对表格进行排序
  10. JAVA数据类型的划分