用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确认
=========================================================
开始测试
在sid为47当中执行操作
然后在sid为43中执行另外一笔
会发现该语句不会执行结束,光标一直会闪烁
注意此处 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找不到满足条件的,因而不能更新