栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Oracle数据库管理(9)——锁

Oracle数据库管理(9)——锁

一、锁

锁是数据库用来控制共享资源并发访问的机制。锁用于保护正在被修改的数据,只到提交或回滚了事务之后,其他用户才可以更新数据。

1、锁的优点
  1. 一致性:一次只允许一个用户修改数据
  2. 完整性:为所有用户提供正确的数据。如果一个用户进行了修改并保存,所有的修改将反映给所有用户。
  3. 并行性:允许多个用户访问同一数据。一个用户修改表,其他用户可以查看,但不能修改
2、锁的类型 (1)行级锁

对正在修改的行进行锁定。其他用户可以访问其他未被修改的行。行级锁是一中排他锁,防止其他用户修改此行。
使用“INSERT”、“UPDATE”、“DELETE”、“SELECT … FOR UPDATE”语句时,会自动应用行级锁,使用“COMMIT”、“ROLLBACK”语句释放锁。“SELECT … FOR UPDATE”语句允许用户一次锁定多行进行更新。

(2)表级锁

锁定整个表,限制其他用户对表的访问。
使用表级锁的语法:

lock table 表名 in 锁类型 mode

表级锁的类型有如下5种,限制依次增多。
行共享(ROW SHARE):禁止其他用户使用排他(EXCLUSIVE)锁定表。其他用户可以插入、更新和删除行
行排他( ROW EXCLUSIVE):禁止其他用户使用排他锁和共享锁。
共享锁(SHARE):锁定表,仅允许其他用户查询表中的行,禁止其他用户插入、更新和删除行。多个用户可以同时在一个表上应用此锁。
共享行排他(SHARE ROW EXCLUSIVE):比共享锁更多的限制,禁止其他用户使用共享锁及排他锁。
排他(EXCLUSIVE):限制最强的表锁,仅允许其他用户查询该表的行,禁止修改和锁定表。

3、死锁

当两个事务相互等带对方释放资源时,就会形成死锁。
Oracle会自动检测死锁,并通过结束其中一个事务来解决死锁。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/303012.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号