Oracle 唯一主键引发的行锁
2016-09-01 13:21
369 查看
SQL> create table test(id int PRIMARY KEY, name char(10)); 表已创建。 Session 1: SQL> select * from v$mystat where rownum<2; SID STATISTIC# VALUE ---------- ---------- ---------- 1165 0 0 SQL> select * from test; 未选定行 SQL> insert into test values(1,'a'); 已创建 1 行。 Session 2: SQL> select * from v$mystat where rownum<2; SID STATISTIC# VALUE ---------- ---------- ---------- 1174 0 0 SQL> insert into test values(1,'a'); --堵塞 SQL> select sid,username,machine, BLOCKING_SESSION ,event from v$session where event='enq: TX - row lock contention'; SID USERNAME MACHINE BLOCKING_SESSION EVENT ---------- ------------------------------ ---------------------------------------------------------------- ---------------- ---------------------------------------------------------------- 1174 SYS oadb 1165 enq: TX - row lock contention 1165 堵塞了1174 这是有唯一主键的情况下, 那么没有唯一主键呢? Sesssion 1: SQL> create table test2(id int,name char(10)); 表已创建。 SQL> insert into test2 values(1,'a'); 已创建 1 行。 Session 2: SQL> insert into test2 values(1,'a'); 已创建 1 行。 没有唯一主键,就不会引起行锁
相关文章推荐
- Oracle 唯一主键引发的行锁
- oracle主键自动增长的实现 Oracle Sequence oracle maxid自动生成--ORA-00001: 违反唯一约束条件 (NAME.SYS_C005547)产生的原因之一(select * from all_cons_columns w
- ORACLE中主键约束跟唯一索引的区别
- Oracle 在ORDER BY 子句中加入主键或唯一键
- Oracle 在 ORDER BY 子句中加入主键或唯一键
- 【oracle唯一主键SYS_GUID()】
- Oracle-主键约束、唯一约束与外键约束
- oracle 主键 唯一约束 索引
- oracle 删除表空间错误 提示:ora-02429:无法删除用于强制唯一/主键的索引
- ORACLE中主键约束跟唯一索引的区别
- Oracle建表,建序列,建触发器,自动生成唯一主键。dual解释
- ORACLE中主键约束跟唯一索引的区别
- oracle 建立外键 此列列表的唯一关键字或主键不匹配 解决办法
- 在Oracle中插入一行,能不能自动产生一个唯一的序列数作为主键的值
- Oracle的主键约束、唯一约束与外键约束
- Oracle建表,建序列,建触发器,自动生成唯一主键
- Oracle主键约束、唯一键约束、唯一索引的区别
- Oracle-主键约束、唯一约束与外键约束
- 【oracle唯一主键SYS_GUID()】
- Oracle-主键约束、唯一约束与外键约束