设为首页收藏本站language 语言切换
查看: 2169|回复: 6
收起左侧

[分享] Oracle中锁的概念

[复制链接]
发表于 2012-3-1 15:33:41 | 显示全部楼层 |阅读模式
       锁是数据库用来控制共享资源并发访问的机制。
       锁用于保护正在被修改的数据直到提交或回滚了事务之后,其他用户才可以更新数据锁定的优点一致性 - 一次只允许一个用户修改数据完整性 - 为所有用户提供正确的数据。如果一个用户进行了修改并保存,所做的修改将反映给所有用户锁的类型行级锁对正在被修改的行进行锁定。其他用户可以访问除被锁定的行以外的行行级锁是一种排他锁,防止其他事务修改此行在使用以下语句时,Oracle会自动应用行级锁:INSERT  UPDATE  DELETE  SELECT FOR UPDATE  SELECT FOR UPDATE语句允许用户一次锁定多条记录进行更新使用COMMITROLLBACK语句释放锁SELECT FOR UPDATE语法:SELECT FOR UPDATE [OF columns][WAIT n | NOWAIT]SQL> SELECT * FROM order_master WHERE vencode=V002FOR UPDATE OF odate del_dateSQL> UPDATE order_master SET del_date=28-8-05WHERE vencode=V002’;SQL> COMMIT
  SQL> SELECT * FROM order_master WHERE vencode=V002FOR UPDATE WAIT 5
  SQL> SELECT * FROM order_master WHERE vencode=V002FOR UPDATE NOWAIT
       使用命令显示地锁定表,应用表级锁的语法是:LOCK TABLE table_name IN mode MODE;行共享 ROW SHARE 禁止排他锁定表行排他(ROW EXCLUSIVE 禁止使用排他锁和共享锁共享锁(SHARE
       锁定表,仅允许其他用户查询表中的行禁止其他用户插入、更新和删除行多个用户可以同时在同一个表上应用此锁共享行排他(SHARE ROW EXCLUSIVE 比共享锁更多的限制,禁止使用共享锁及更高的锁排他(EXCLUSIVE 限制最强的表锁,仅允许其他用户查询该表的行。禁止修改和锁定表表级锁
       占用模式        其他用户ROW SHARE   ROW EXCLUSIVE   SHARE   SHARE ROW EXCLUSIVE     EXCLUSIVE   SELECT……FOR UPDATE  INSERT DELETE UPDATE ROW SHARE                                   ×                  ROW EXCLUSIVE                     ×   ×           ×                  SHARE                  ×          ×           ×                  ×SHARE ROW EXCLUSIVE            ×       ×   ×           ×                  ×EXCLUSIVE       ×       ×       ×   ×           ×       ×           ×
       死锁当两个事务相互等待对方释放资源时,就会形成死锁Oracle会自动检测死锁,并通过结束其中的一个事务来解决死锁右边是一个死锁的例子。
发表于 2012-3-5 15:50:28 | 显示全部楼层
了解啦。顶起
沙发 2012-3-5 15:50:28 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-3-15 12:46:32 | 显示全部楼层
板凳 2012-3-15 12:46:32 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-5-2 16:36:19 | 显示全部楼层
地板 2012-5-2 16:36:19 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-5-2 16:37:25 | 显示全部楼层
5# 2012-5-2 16:37:25 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-5-3 18:38:02 | 显示全部楼层
谢谢分享
6# 2012-5-3 18:38:02 回复 收起回复
回复 支持 反对

使用道具 举报

发表于 2012-9-27 10:54:57 | 显示全部楼层
多谢!大致明白了!
7# 2012-9-27 10:54:57 回复 收起回复
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-2-23 17:01 , Processed in 0.065046 second(s), 25 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表