Orace数据库锁表的处理与总结<摘抄与总结二>
来源:互联网 发布:双十一淘宝严查 编辑:程序博客网 时间:2024/05/17 04:04
当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#';
- Orace数据库锁表的处理与总结<摘抄与总结二>
- Orace数据库锁表的处理与总结<摘抄与总结一>
- Orace数据库锁表的处理与总结<摘抄与总结三>
- sg函数总结与摘抄
- nginx与PHP的flush(摘抄加总结)
- 继续摘抄: Linux与windows 互访总结
- MySQL数据库基础回顾与总结(二)
- cocos2d Touch处理摘抄总结
- 数据库系统表的总结与应用
- VB与数据库的总结
- 《The C++ Programming Language》摘抄与总结——关于
- 《黑客与画家》摘抄 二
- VB与数据库总结
- 【VB与数据库】总结
- android 触摸事件的处理与总结
- C#与JAVA的异同总结(二)
- 有关性能的摘抄总结
- 数据结构总结(摘抄)(二)
- 合并表格中临近行相同的值
- JDK API 中英文版/在线版 下载地址
- HDU 4565 So Easy!(公式化简+矩阵)
- 让编程菜鸟爱上iPhone开发1-Swift+iOS8版
- CSS圆角框制作(1)
- Orace数据库锁表的处理与总结<摘抄与总结二>
- Android中滑屏初探 ---- scrollTo 以及 scrollBy方法使用说明
- 第7周项目—闰年计算(修改1)
- 九大Oracle性能优化基本方法详解
- 日媒:安倍“不会接受”中方开出首脑会谈条件
- ACM 1219: 爱抱怨的一对儿(ZJU+最小生成树)
- java 类和对象的关系
- 高效能人士的七个习惯-1 卓越不是单一的举动,而是习惯
- 10月计划