查询01_DML锁与DDL锁的拍卖

一、摘要


Oracle的手册及有关锁的归类说明如下:

 

1.
DML吊:Date
lock。执行DML时保护数量的锁。Row
Lock(TX)保护特定行,Table
Lock(TM)保护全体表,可以经dba_kml_locks观察。

2.
DDL锁:Data dictionary
lock。保护User/Table/View/Procedure等概念,可以由此dba_ddl_locks观察。

 

实则,DML锁和DDL锁就是为着成立分配锁而给予的称,请小心就点。

 

DML锁实际上与TM锁一致,DML锁得透过dba_dml_locks视图观察,这个视图的打算是从V$lock视图上淘产生锁类型为TM的。

数据库及允的TM锁数量,可以下DML_LOCKS参数指定。若以DML_LOCKS参数设置为0,则对表无法获得TM锁。

这时候,oracle为了保持表定义被保安,对于表根本上未同意DDL操作。

所以,即便不得到TM锁,也同意修改该表的一定行。

如OPS环境下,为了减少在全局范围外得到TM锁过程遭到起的增大资源消耗,有时也以DML_LOCKS值修改也0。

 

DDL锁实际上和library cache
lock 一致。

DDL锁得经过DBA_DDL_LOCKS视图观察,这个视图世界上于及加工X$KGLLK视图后显示的意。

DDL锁除了DBA_DDL_LOCKS视图之外,还好由此X$KGLLK,DBA_KGLLOCK等视图观察。

对此表,普通DML语句以Sub-Exclusive(SX)模式得到TM锁。Sub-exclusive模式之间有共享性,所以基本上个会话可以本着形同的表执行DML。

曾经实行DML的对话对于表,以Sub-Exclusive莫侯斯获得TM锁,对于已经修改的数据Exclusive模式得到TX锁。

 

二、监控DDL和DML锁


1.
DBA_DML_LOCKS视图在v$locks视图上只是选出TM锁并加工得到的;

2.
DBA_DDL_LOCKS视图是加工X$KGLLK视图得到的;

Thanks and
Regards

2016-03-25
Created By BaoXinjian

 

 

 

来源为掌握笔记(Wiz)

相关文章