oracle中锁的概念,Oracle 锁的概念

用scott/orcl登录并且模拟数据

SQL> conn scott/orcl

Connected.

SQL> create table tt(id int primary key);

Table created.

SQL> insert into tt values(11);

1 row created.

SQL> commit;

Commit complete.

两边sid确认

20181016011228604336.png

20181016011228777187.png

=========================================================

开始测试

在sid为47当中执行操作

20181016011228891445.png

然后在sid为43中执行另外一笔

20181016011229016445.png

会发现该语句不会执行结束,光标一直会闪烁

20181016011229091640.png

注意此处 request 6号锁的43 最下面那个,就是说明它就是被阻塞的

而47的block为1说明是这个会话阻塞了其他的会话

SQL> select session_id, object_id,locked_mode from v$locked_object where session_id in(47,43);

SESSION_ID OBJECT_ID LOCKED_MODE

---------- ---------- -----------

47 80876 3

43 80876 3

SQL> select object_name from dba_objects where object_id in (80876);

OBJECT_NAME

--------------------------------------------------------------------------------

TT

当刚刚的47点击了commit,43也会执行,但是update为0 因为47落地,43找不到满足条件的,因而不能更新

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值