阐述Oracle的锁又几种,定义分别是什么?

Oracle数据库的锁主要分为以下几种:

  1. DML锁(data locks,数据锁):用于保护数据的完整性。主要包括TM表级锁和TX事务锁或行级锁。当Oracle执行DML语句时,系统自动在所要操作的表上申请TM类型的锁。当TM锁获得后,系统再自动申请TX类型的锁,并将实际锁定的数据行的锁标志位进行置位。这样在事务加锁前检查TX锁相容性时就不用再逐行检查锁标志,而只需检查TM锁模式的相容性即可,大大提高了系统的效率。TM锁包括了SS、SX、S、X等多种模式,在数据库中用0-6来表示。不同的SQL操作产生不同类型的TM锁。
  2. DDL锁(dictionary locks,字典锁):用于保护数据库对象的结构,索引等的结构定义。
  3. 内部锁和闩(internal locks and latches):保护数据库的内部结构,由Oracle内部调用。

请注意,这些是Oracle数据库中主要的锁类型,但可能还有其他的内部或特定于应用程序的锁类型。

发表评论

后才能评论