唯一索引操作可能產生的鎖
SESSION 1(SID=3254):
apolloCRMG>create table wxh_tbd(id number);
Table created.
apolloCRMG>create unique index wxh_ind on wxh_tbd(id);
Index created.
apolloCRMG>insert into wxh_tbd values(1);
1 row created.
SESSION 2(SID=1001):
apolloCRMG>insert into wxh_tbd values(1);
被hang住了。
觀察等待:
apolloCRMG>select sid,type ,id1,id2 ,lmode,request from v$lock where sid=1001 or block=1;
SID TYPE ID1 ID2 LMODE REQUEST
---------- ---- ---------- ---------- ---------- ----------
1001 TX 196620 681711 0 4
1001 TM 139590 0 3 0
1001 TX 393244 717891 6 0
3254 TX 196620 681711 6 0
session 2獲得X模式的自身的事務鎖後,還需要獲得session 1的S模式的事務鎖(根據ID1,ID2就可以確定獲取的是同一個資源),這個時候產生等待。如果session 1回滾,SESSION 2可順利獲得,並且等待裡的ID1,ID2也都為自己的事務資訊了。
apolloCRMG>rollback;
Rollback complete.
apolloCRMG>select sid,type ,id1,id2 ,lmode,request from v$lock where sid=1001 or block=1;
SID TYPE ID1 ID2 LMODE REQUEST
---------- ---- ---------- ---------- ---------- ----------
1001 AE 99 0 4 0
1001 TM 139590 0 3 0
1001 TX 393244 717891 6 0
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-687943/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 明明加了唯一索引,為什麼還是產生重複資料?索引
- 常見MongoDB資料庫操作產生的鎖總結MongoDB資料庫
- 主從表,增,刪,改操作時產生的鎖演示
- PHP產生一個唯一IDPHP
- 產生唯一隨機碼的方法分析隨機
- 唯一索引索引
- MongoDB之索引(唯一索引)MongoDB索引
- Elasticsearch系列---生產叢集的索引管理Elasticsearch索引
- 說說生產系統索引的重建索引
- 交換機可能產生的問題分析(轉)
- 唯一索引和非唯一索引ROWID儲存的區別索引
- PostgreSQLCREATEINDEXCONCURRENTLY的原理以及哪些操作可能堵塞索引的建立SQLIndex索引
- MySQL <唯一索引>MySql索引
- 【Oracle】死鎖的產生與處理Oracle
- MySQL 唯一索引和普通索引MySql索引
- MySQL 唯一索引範圍查詢鎖下一個記錄的理解MySql索引
- 操作生產環境的規範
- Linux 萬用字元可能產生的問題Linux字元
- 函式索引產生隱藏列函式索引
- 產生TX鎖等待不同情形的分析
- FPGA注意事項——鎖存器的產生FPGA
- 鎖的種類,阻塞,死鎖產生與解決辦法。
- 對手機丟失後可能產生的危害的思考
- Oracle主鍵、唯一鍵與唯一索引的區別Oracle索引
- 關於生產系統鎖問題的排查
- 線上非rman備份產生和普通操作產生的redo大小比較
- 瞭解下Mysql的間隙鎖及產生的原因MySql
- 「生產事故」MongoDB複合索引引發的災難MongoDB索引
- 資料庫自增主鍵可能產生的問題資料庫
- SAP IQ DML操作產生表鎖(不是行鎖),同時DML同一個表預設直接報錯
- update/select也可能產生buffer busy waits。AI
- 如何避免SHRINKDATABASE & SHRINKFILE 產生索引碎片(轉載)Database索引
- 不同insert操作產生的undo的測試
- 死鎖:多執行緒同時刪除唯一索引上的同一行執行緒索引
- 【Mysql】兩條insert 語句產生的死鎖MySql
- ORA-00060死鎖的產生及解決
- 哪種DML操作產生undo多
- 【Mongo】mongos shard 唯一索引的問題Go索引