查询01_DML锁和DDL锁的拍卖

图片 1一、摘要


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锁。

 

图片 2二、监控DDL和DML锁


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

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

Thanks and
Regards

2016-03-25
Created By BaoXinjian

图片 3

 

 

 

来自为知笔记(Wiz)

相关文章