生产库中出现了大量的锁表,需要得到当时程式执行的SQL以及其带入的值

1.查看SQL

SELECT SQL_ID FROM V$SESSION WHERE SID=(SELECT FINAL_BLOCKING_SESSION FROM V$SESSION WHERE BLOCKING_SESSION IS NOT NULL);

查出来后,在通过V$SQL查找,此时发现程式使用了绑定变量,此方法不可行。

2.通过10046进行追踪

可以通过10046追踪某个会话,但是因为有好多程式,并不知道哪一个会锁表,因此无法确定追踪哪一个

3.通过LOGMNR得到

因为锁表的会话并没有提交,所以我们需要验证一下LOGMNR是否可以抓到未提交的SQL

--1.执行一条更新语句
UPDATE TT SET NAME='MONKEY' WHERE ID=1;
--2.不提交
--3.归档当前的REDO
alter system archive log current;
--4.LOGMNR
EXEC SYS.DBMS_LOGMNR.ADD_LOGFILE('/xxxx/xxxx/archivelog/1_1078_1047477936.dbf');
EXEC SYS.DBMS_LOGMNR.START_LOGMNR(OPTIONS=>16);
SELECT * FROM V$LOGMNR_CONTENTS WHERE lower(TABLE_NAME)='tt'

根据这个原理,我们可以对锁表的会话的变量值进行抓取。

最新文章

  1. poj 1845 数论综合
  2. 垂直的TextView
  3. SharePoint 2010遍历文档库中所有的文件,文件夹
  4. sql-表值函数tvf
  5. javascript闭包的理解
  6. ASP.NET Boilerplate 邮件类使用
  7. 解决 dyld: Library not loaded:Reason: image not found
  8. HDU 2255 奔小康赚大钱
  9. How To Create a New User and Grant Permissions in MySQL
  10. linux-ubuntu下fastQC的安装
  11. js、css动态压缩页面代码
  12. Vue.js中前端知识点总结笔记
  13. Python3 与 Python2 的不同
  14. Regsvr32 在64位机器上的用法(转载)
  15. 课堂讨论——Alpha版总结会议
  16. Elasticsearch单机下多实例配置
  17. 【BZOJ4429】[Nwerc2015] Elementary Math小学数学 最大流
  18. Mac 10.12安装迅雷2.7.2
  19. 基于HDP3.0的基础测试
  20. 【spring cloud】spring cloud打包最外层项目报错:'packaging' with value 'jar' is invalid. Aggregator projects require 'pom' as packaging. @ line 9, column 13

热门文章

  1. MySQL数据库死锁分析
  2. Java 8 Lambda表达式-接口实现
  3. css 04-CSS选择器:伪类
  4. js上 六、运算符-2
  5. matplotlib的学习12-Subplot 多合一显示
  6. 使用gitlab-runner本地验证.gitlab-ci.yml
  7. Dovecot邮件服务器的正确安装方法
  8. Dubbo服务引用源码解析③
  9. python使用smtplib和email库发送邮件
  10. [leetcode]669. Trim a Binary Search Tree寻找范围内的二叉搜索树