楼主: yangtingkun

[精华] 在Oracle中如何实现读锁

[复制链接]
论坛徽章:
4
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:虎
日期:2009-03-01 12:38:04蛋疼蛋
日期:2011-08-09 08:26:22ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41
61#
发表于 2008-11-15 21:17 | 只看该作者
我们处理这种读数据排他性的请求一般是用select *** for update实现的,不知道是不是能够满足需求

使用道具 举报

回复
论坛徽章:
10
生肖徽章2007版:兔
日期:2009-03-05 17:18:572010新春纪念徽章
日期:2010-03-01 11:20:53祖国60周年纪念徽章
日期:2009-10-09 08:28:00ITPUB8周年纪念徽章
日期:2009-09-27 10:21:22生肖徽章2007版:兔
日期:2009-09-21 08:56:492009日食纪念
日期:2009-07-22 09:30:00生肖徽章2007版:羊
日期:2009-03-26 16:14:46生肖徽章2007版:蛇
日期:2009-03-20 17:53:30生肖徽章2007版:虎
日期:2009-03-06 09:04:21ITPUB9周年纪念徽章
日期:2010-10-08 09:32:27
62#
发表于 2009-1-30 10:47 | 只看该作者
需求如下:
我们有两台appserver使用的jboss做的均衡,俩个jboss都有一个后台thread在发email,如果不做同步就会有重发的情况,即一封邮件jboss1发了,同时jboss2也发了,
由于是2台机器2个java vm所以不能使用java的synchronize关键字,
解决方案就是:
1、select  from tab for update;
2、update 状态位;
3、判断更新行数;
if 行数 then
发邮件
else 更新0行。 --更新0行说明另一个thread已经更新了,并发送了email。
不发邮件。

thanks
不知大家有没有更好的解决方案

使用道具 举报

回复
论坛徽章:
43
ITPUB9周年纪念徽章
日期:2012-09-28 16:17:24马上有钱
日期:2014-06-16 17:13:52马上有对象
日期:2014-06-16 17:13:52马上加薪
日期:2014-06-16 17:13:52现任管理团队成员
日期:2014-06-17 02:21:03版主1段
日期:2014-06-17 02:21:04马上有车
日期:2014-10-24 22:35:032010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:19
63#
发表于 2012-10-23 21:45 | 只看该作者
youngcow 发表于 2008-11-15 21:17
我们处理这种读数据排他性的请求一般是用select *** for update实现的,不知道是不是能够满足需求

no

使用道具 举报

回复
论坛徽章:
43
ITPUB9周年纪念徽章
日期:2012-09-28 16:17:24马上有钱
日期:2014-06-16 17:13:52马上有对象
日期:2014-06-16 17:13:52马上加薪
日期:2014-06-16 17:13:52现任管理团队成员
日期:2014-06-17 02:21:03版主1段
日期:2014-06-17 02:21:04马上有车
日期:2014-10-24 22:35:032010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:19
64#
发表于 2012-10-23 21:45 | 只看该作者
youngcow 发表于 2008-11-15 21:17
我们处理这种读数据排他性的请求一般是用select *** for update实现的,不知道是不是能够满足需求

no

使用道具 举报

回复
论坛徽章:
43
ITPUB9周年纪念徽章
日期:2012-09-28 16:17:24马上有钱
日期:2014-06-16 17:13:52马上有对象
日期:2014-06-16 17:13:52马上加薪
日期:2014-06-16 17:13:52现任管理团队成员
日期:2014-06-17 02:21:03版主1段
日期:2014-06-17 02:21:04马上有车
日期:2014-10-24 22:35:032010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:19
65#
发表于 2012-10-23 21:45 | 只看该作者
youngcow 发表于 2008-11-15 21:17
我们处理这种读数据排他性的请求一般是用select *** for update实现的,不知道是不是能够满足需求

no

使用道具 举报

回复
论坛徽章:
2
ITPUB学员
日期:2011-05-04 17:44:51优秀写手
日期:2013-12-18 09:29:11
66#
发表于 2014-5-28 22:59 | 只看该作者
真正的大师

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表