查看: 5226|回复: 15

关于ORACLE锁的问题

[复制链接]
论坛徽章:
0
跳转到指定楼层
1#
发表于 2005-3-3 16:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在oracle数据库下,如何实现以下问题:
一个用户锁住一条记录,其他用户查不出这条记录.
例如,一个用户锁住一条记录,其他用户查询满足条件的记录时,可以列出其他记录,列不出被锁记录.
论坛徽章:
2
ITPUB元老
日期:2005-03-02 12:45:52授权会员
日期:2005-10-30 17:05:33
2#
发表于 2005-3-3 21:00 | 只看该作者
锁好像不是干这个用的, 也许LABEL SECURITY 可以实现你的需求吧

使用道具 举报

回复
论坛徽章:
117
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20版主7段
日期:2012-05-15 15:24:11ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:42ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32紫蛋头
日期:2013-03-04 17:00:07优秀写手
日期:2013-12-18 09:29:09
3#
发表于 2005-3-4 10:01 | 只看该作者
Oracle的锁是实现不了你的需求的。先说说你为什么有这样的需求?
再看看能否用其他方式实现。

使用道具 举报

回复
论坛徽章:
42
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:022011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:08ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23
4#
发表于 2005-3-4 10:04 | 只看该作者
让其他用户用select .... for update去查,不过等待会很严重的.

使用道具 举报

回复
论坛徽章:
42
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:022011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:08ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23
5#
发表于 2005-3-4 10:05 | 只看该作者
select .... for update skip locked

这是AQ中常见的句子,应当可以实现

使用道具 举报

回复
论坛徽章:
117
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20版主7段
日期:2012-05-15 15:24:11ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:42ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32紫蛋头
日期:2013-03-04 17:00:07优秀写手
日期:2013-12-18 09:29:09
6#
发表于 2005-3-4 11:31 | 只看该作者
最初由 d.c.b.a 发布
[B]select .... for update skip locked

这是AQ中常见的句子,应当可以实现 [/B]


的确可以 以前没有注意这个用法

使用道具 举报

回复
论坛徽章:
25
每日论坛发贴之星
日期:2005-05-23 01:01:10马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:09
7#
发表于 2005-3-4 11:47 | 只看该作者
才注意到eygle的头衔也是新手上路.


其实sql reference还是很值得研究的,但又有几个人会这么干呢.

使用道具 举报

回复
论坛徽章:
2
ITPUB元老
日期:2005-03-02 12:45:52授权会员
日期:2005-10-30 17:05:33
8#
发表于 2005-3-4 12:19 | 只看该作者
最初由 d.c.b.a 发布
[B]select .... for update skip locked

这是AQ中常见的句子,应当可以实现 [/B]


在我的环境里, 好像不灵, 这个for update skip locked 究竟干嘛用的?

使用道具 举报

回复
论坛徽章:
117
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20版主7段
日期:2012-05-15 15:24:11ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:42ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32紫蛋头
日期:2013-03-04 17:00:07优秀写手
日期:2013-12-18 09:29:09
9#
发表于 2005-3-4 12:23 | 只看该作者
最初由 hooman 发布
[B]

在我的环境里, 好像不灵, 这个for update skip locked 究竟干嘛用的? [/B]


[php]
[oracle@jumper oracle]$ sqlplus scott/tiger

SQL*Plus: Release 9.2.0.4.0 - Production on Fri Mar 4 11:59:46 2005

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production

SQL> select * from dept;

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON
        33 ORACLE         beijing
        35 Oracle         Beijing
        36 Oracle         Beijing
        37 Oracle         Beijing

8 rows selected.

SQL> select * from dept where  deptno =10 for update;

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK

SQL> !
[oracle@jumper oracle]$ sqlplus scott/tiger

SQL*Plus: Release 9.2.0.4.0 - Production on Fri Mar 4 12:00:14 2005

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production

SQL> select * from dept for update skip locked;

    DEPTNO DNAME          LOC
---------- -------------- -------------
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON
        33 ORACLE         beijing
        35 Oracle         Beijing
        36 Oracle         Beijing
        37 Oracle         Beijing

7 rows selected.

SQL>
.
[/php]

使用道具 举报

回复
论坛徽章:
42
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:022011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:08ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23
10#
发表于 2005-3-4 13:18 | 只看该作者
需要8.1.7.4.16以上的版本,否则不支持,或有core文件的

使用道具 举报

回复

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

本版积分规则 发表回复

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