以下的文章主要介绍的是Oracle锁的工作机制,以及Oracle锁的类型的介绍,实际中其应用比例还是占为多数的,如果你对其心存好奇的话,以下的文章将会揭开它的神秘面纱。望大家借鉴。
0 - none
1 - null (NULL)
2 - row-S (SS)
3 - row-X (SX)
4 - share (S)
5 - S/Row-X (SSX)
6 - exclusive (X)
0 - 没有
1 - 空(NULL)
2 - 行子共享模式(SS)
3 - 行共享互斥模式(SX)
4 - 共享模式(S)
5 - 行子共享互斥模式
6 - 互斥模式(X)
DML操作引起的Oracle锁的类型和描述:
- Operation Lock Mode LMODE Lock Description
- ------------------------- ---------- ------ -----------------
- Select NULL 1 null
- Select for update SS 2 sub share
- Insert SX 3 sub exclusive
- Update SX 3 sub exclusive
- Delete SX 3 sub exclusive
- Lock For Update SS 2 sub share
- Lock Share S 4 share
- Lock Exclusive X 6 exclusive
- Lock Row Share SS 2 sub share
- Lock Row Exclusive SX 3 sub exclusive
- Lock Share Row Exclusive SSX 5 share/sub exclusive
- Alter table X 6 exclusive
- Drop table X 6 exclusive
- Create Index S 4 share
- Drop Index X 6 exclusive
- Truncate table X 6 exclusive
- -----------------------------------------------------------
Oracle锁的兼容性,YES表示锁可以共同存在,NO表示互斥。
- NULL SS SX S SSX X
- ------ ---- ---- ---- ----- ----
- NULL| YES YES YES YES YES YES
- SS | YES YES YES YES YES NO
- SX | YES YES YES NO NO NO
- S | YES YES NO YES NO NO
- SSX | YES YES NO NO NO NO
- X | YES NO NO NO NO NO