关于数据操作事务引起的解、锁表的问题

 ----2009/04/13群聊天记录整理

     

(L)Scarlett (959723649)

2009-04-13 13:53:59

跟新A表的时候 需要将部分跟新的数据跟新到B表。

A 设置一个触发器 它执行的时候更新B表
但是如果跟新A表的人不提交 那么B这个时候就被Row-X (SX)锁锁住 了!造成其他跟新B表的人不能跟新 处于等待
怎么样避免这个问题 我不能要求跟新A表的人跟新 就提交数据!同时我不能让更新B表数据的人处于等待状态

 

LUCKY EG (313282323)

2009-04-13 14:02:58

再设计一个表,记录下哪个命令开始执行,和开始时间,当其他命令需要用b表时先检查b表是否锁住,超过一定时间就解锁。

 

  • 清风 (115702552)
    2009-04-13 14:08:36

    TX的本义是Transaction(事务),当一个事务第一次执行数据更改(Insert、Update、Delete)或使用SELECT… FOR UPDATE语句进行查询时,它即获得一个TX(事务)锁,直至该事务结束(执行COMMIT或ROLLBACK操作)时,该锁才被释放。所以,一个TX锁,可以对应多个被该事务锁定的数据行。

    在Oracle的每行数据上,都有一个标志位来表示该行数据是否被锁定。Oracle不象其它一些DBMS(数据库管理系统)那样,建立一个链表来维护每一行被加锁的数据,这样就大大减小了行级锁的维护开销,也在很大程度上避免了其它数据库系统使用行级封锁时经常发生的锁数量不够的情况。数据行上的锁标志一旦被置位,就表明该行数据被加X锁,Oracle在数据行上没有S锁。

  • LUCKY EG (313282323)
    2009-04-13 14:08:56

    这是程序的需要,不解锁那b表就不能用,对程序来说也是一个弊端。

  •  

    trimmer:    LUCKY EG

  • (L)Scarlett (959723649)
    2009-04-13 14:09:31

    上次 那个课上讲过锁

  • (L)Scarlett (959723649)
    2009-04-13 14:10:02

    给你们 事物 培训的资料

  • (L)Scarlett (959723649)
    2009-04-13 14:10:11

    都看看
    然后解决问题啊

  • (L)Scarlett (959723649)
    2009-04-13 14:10:48

  • (L)Scarlett (959723649)
    2009-04-13 14:13:54

    ORACLE主要有三大类的锁,分别是
    O DML锁
    O DDL锁
    O 内部锁或LATCH
    他们涉及的对象不同
    O DML和DDL涉及可见的SCHEMA对象
    O LATCH涉及不可见的内部对象,如LIBRARY CACHE

  • (L)Scarlett (959723649)
    2009-04-13 14:19:27

    LUCKY EG(313282323)
    你说的是对的
    警告: 此记录被您的用户锁定!首先检查您是否有此记录显示在别的窗口。如果没有,请点击此处 如果想清除此锁且提交您的请求

  • (L)Scarlett (959723649)
    2009-04-13 14:19:47

    我们系统就有这样去实现解锁的

  • (L)Scarlett (959723649)
    2009-04-13 14:29:18

    1,b表分2张表
    2,在前台程序中控制a用户更新后rollback,commit前更新 

  • (L)Scarlett (959723649)
    2009-04-13 14:29:25

    我想用1 来解决

  • (L)Scarlett (959723649)
    2009-04-13 14:29:33

    2 不明白意思

  • (L)Scarlett (959723649)
    2009-04-13 14:29:55

    更新A表成功后直接rollback,要commitA表时再重新执行一次A表更新

  • (L)Scarlett (959723649)
    2009-04-13 14:31:57

    这个是其他群人给的意见

  • LUCKY EG (313282323)
    2009-04-13 14:33:08

    性能上考虑没,如果数据量大的话,会影响程序的性能

  • 笨笨 (503172601)
    2009-04-13 16:08:34

    我感觉最好不要用触发器

  • 笨笨 (503172601)

    2009-04-13 16:25:14

    我感觉这个问题,可以这样解决,
    你更新成功,使用户操作失败,并且给用户的报错误信息,
    用乐观锁可以做到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值