当Oracle数据库发生TX锁等待时,如果不及时处理常常会引起Oracle数据库挂起,或导致死锁的发生,产生ORA-60的错误。

TX锁等待的分析

Oracle数据库中一般使用行级锁。

当Oracle检测到死锁产生时,中断并回滚死锁相关语句的执行,报ORA-00060的错误并记录在数据库的日志文件alertSID.log中。同时在user_dump_dest下产生了一个跟踪文件,详细描述死锁的相关信息。

在日常工作中,如果发现在日志文件中记录了ora-00060的错误信息,则表明产生了死锁。这时需要找到对应的跟踪文件,根据跟踪文件的信息定位产生的原因。

表2 数据字典视图说明

视图名

描述

主要字段说明

v$session

查询会话的信息和锁的信息。

sid,serial#:表示会话信息。

program:表示会话的应用程序信息。

row_wait_obj#:表示等待的对象,和dba_objects中的object_id相对应。

v$session_wait

查询等待的会话信息。

sid:表示持有锁的会话信息。

Seconds_in_wait:表示等待持续的时间信息

Event:表示会话等待的事件。

v$lock

列出系统中的所有的锁。

Sid:表示持有锁的会话信息。

Type:表示锁的类型。值包括TM和TX等。

ID1:表示锁的对象标识。

lmode,request:表示会话等待的锁模式的信

息。用数字0-6表示,和表1相对应。

dba_locks

对v$lock的格式化视图。

Session_id:和v$lock中的Sid对应。

Lock_type:和v$lock中的type对应。

Lock_ID1: 和v$lock中的ID1对应。

Mode_held,mode_requested:和v$lock中

的lmode,request相对应。

v$locked_object

只包含DML的锁信息,包括回滚段和会话信息。

Xidusn,xidslot,xidsqn:表示回滚段信息。和

v$transaction相关联。

Object_id:表示被锁对象标识。

Session_id:表示持有锁的会话信息。

Locked_mode:表示会话等待的锁模式的信

息,和v$lock中的lmode一致。

解锁及Kill Session:

使用下面的语法查出锁并杀掉Session。

SELECT A.SID,A.SERIAL#,A.USERNAME,B.TYPE FROM V$SESSION A,V$LOCK B WHERE A.SID=B.SID;

ALTER SYSTEM KILL SESSION 'SID,SERIAL#';

最新文章

  1. PowerDesginer 生成的Oracle 11g 组合触发器代码编译错误(29): PLS-00103
  2. Go加密解密之DES
  3. Hibernate的关联映射——单向1-1关联
  4. hive函数总结
  5. lucene 建立索引的过程
  6. 【HDOJ】2295 Radar
  7. JavaScript----Performance Tool and Process
  8. Spring整合的quartz任务调度的实现方式
  9. [LeetCode257]Binary Tree Paths
  10. C: strcpy & memcpy & scanf/printf format specifier.. escape characters..
  11. 解决OracleOraDb10g_home1TNSListener服务无法启动
  12. 软件安装配置笔记(三)——ArcGIS系列产品安装与配置(补档)(附数据库连接及数据导入)
  13. install chrome and chrome driver on ubuntu
  14. 原生js实现返回顶部特效
  15. MyBatis 命名空间与命名解析
  16. DeepNetwork---tensorflow实现
  17. Mysql数据库查询数据文件大小
  18. Java SSM框架之MyBatis3(三)Mybatis分页插件PageHelper
  19. oneThink发生错误,获取当前执行的SQL语句!
  20. am335x内核初始化路径

热门文章

  1. 【HDOJ】1908 Double Queue
  2. 在ASP.NET MVC中对手机号码的验证
  3. 两个月淘宝刷单,连续死N次血泪史 (转)
  4. Selenium如何实现dropbar移动
  5. poj 1564 Sum It Up【dfs+去重】
  6. N2N 对等VPN网络
  7. android 随手记 倒计时
  8. c++文件流
  9. 对Verilog 初学者比较有用的整理(转自它处)
  10. android的tabhost+RadioGroup+PopupWindow