锁的分类
- DML锁(data locks,数据锁,用于保护数据的完整性)
- DDL锁(dictionary locks,字典锁,用于保护数据库对象的结构,如表、索引等的结构定义)
- 内部锁和闩(internal locks and latches),保护数据库的内部结构,不用管。
-
DML锁(data locks,数据锁,用于保护数据的完整性)
1.TM锁(表级锁)
当Oracle执行DML语句时,系统自动在所要操作的表上申请TM类型的锁。当TM锁获得后,系统再自动申请TX类型的锁,并将实际锁定的数据行的锁标志位进行置位。这样在事务加锁前检查TX锁相容性时就不用再逐行检查锁标志,而只需检查TM锁模式的相容性即可,大大提高了系统的效率
TM锁(表级锁)分为 0-6 七种,如下图
2.TX锁(事务锁或行级锁)
行锁,没啥东西