
请问Oracle数据库锁的作用是什么?
多用户系统并发访问并修改数据时,保护数据的一致性和完整性。
锁是一种机制,多个事务同时访问一个数据库对象时,该机制可以实现对并发的控制。
Oracle正是使用锁机制来实现系统的高并发,利用不同类型的排它锁或者共享锁来管理并发会话对数据的操作。数据库是一个多用户使用的共享资源。当多个用户并发地存取修改同一数据时,若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性和完整性。Oracle数据库通过其锁机制在事务之间提供数据并发性、一致性和完整性。锁定是自动发生的,通常不需要用户操作。
请问Oracle锁存储在哪里?
在oracle数据库中,不存在真正意义上属于某个对象或数据的锁。oracle锁的信息是数据块的一个物理属性,而不是逻辑上属于某个表或某个行。Oracle的锁机制是一种轻量级的锁定机制,不是通过构建锁列表来进行数据的锁定管理,而是直接将锁作为数据块的属性,存储在数据块首部。在 Oracle 数据库中,它并不是对某个表加上锁或者某几行加上锁, 锁是以数据块的一个属性存在的。也就是说, 每个数据块本身就存储着自己数据块中数据的信息,这个地方叫 ITL( Interested Transaction List), 凡是在这个数据块上有活动的事务,它的信息就会记录在这里面供后续的操作查询,一保证事务的一致性。
订阅专栏 解锁全文
2616

被折叠的 条评论
为什么被折叠?



