oracle lock轉換及oracle deadlock死鎖系列一
結論
死鎖
1,2個會話相互想獲取對方的資源方可進行繼續下去,就會發生死鎖2,死鎖發生之前在另一個會話會產生DML HANG,因為不能獲取到鎖資源
會話17
SQL> select sid from v$mystat where rownum=1;
SID
----------
17
SQL> select * from t_lock;
A
----------
3
1
會話162
SQL> select sid from v$mystat where rownum=1;
SID
----------
162
會話17
SQL> update t_lock set a=33 where a=3;
1 row updated.
會話162
SQL> update t_lock set a=11 where a=1;
1 row updated.
會話17
SQL> update t_lock set a=11 where a=1;
但此會話會HANG住,因為它不能持鎖
會話162
SQL> update t_lock set a=33 where a=3;
update t_lock set a=33 where a=3
*
ERROR at line 1:
ORA-00060: deadlock detected while waiting for resource
再看下鎖模式的轉化
鎖模式的轉換,針對lmode監控會話
SQL> select sid,type,id1,id2,lmode,request,ctime,block from v$lock where sid in (17) and type in ('TX','TM');
no rows selected
會話17
SQL> select * from t_lock;
A
----------
3
SQL> lock table t_lock in row share mode;
Table(s) Locked.
監控會話
SQL> select sid,type,id1,id2,lmode,request,ctime,block from v$lock where sid in (17) and type in ('TX','TM');
SID TYPE ID1 ID2 LMODE REQUEST CTIME BLOCK
---------- ---- ---------- ---------- ---------- ---------- ---------- ----------
17 TM 74551 0 2 0 20 0
會話17
SQL> insert into t_lock values(1);
1 row created.
監控會話
SQL> select sid,type,id1,id2,lmode,request,ctime,block from v$lock where sid in (17) and type in ('TX','TM');
SID TYPE ID1 ID2 LMODE REQUEST CTIME BLOCK
---------- ---- ---------- ---------- ---------- ---------- ---------- ----------
17 TM 74551 0 3 0 22 0 --由原2級行共享鎖轉換為行排它鎖(DML)
17 TX 13500430 3776 6 0 22 0 --新增1條排它鎖(事務鎖)
個人簡介:
8年oracle從業經驗,具備豐富的oracle技能,目前在國內北京某專業oracle服務公司從事高階技術顧問。
服務過的客戶:
中國電信
中國移動
中國聯通
中國電通
國家電網
四川達州商業銀行
湖南老百姓大藥房
山西省公安廳
中國郵政
北京302醫院
河北廊坊新奧集團公司
專案經驗:
中國電信3G專案AAA系統資料庫部署及最佳化
中國聯通CRM資料庫效能最佳化
中國移動10086電商平臺資料庫部署及最佳化
湖南老百姓大藥房ERR資料庫sql最佳化專案
四川達州商業銀行TCBS核心業務系統資料庫模型設計和RAC部署及最佳化
四川達州商業銀行TCBS核心業務系統後端批處理儲存過程功能模組編寫及最佳化
北京高鐵訊號監控系統RAC資料庫部署及最佳化
河南宇通客車資料庫效能最佳化
中國電信電商平臺核心採購模組表模型設計及最佳化
中國郵政儲蓄系統資料庫效能最佳化及sql最佳化
北京302醫院資料庫遷移實施
河北廊坊新奧data guard部署及最佳化
山西公安廳身份證審計資料庫系統故障評估
聯絡方式:
手機:18201115468
qq : 305076427
qq微博: wisdomone1
新浪微博:wisdomone9
qq群:275813900
itpub部落格名稱:wisdomone1 http://blog.itpub.net/9240380/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-1815967/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用oracle 10704 event分析獲取鎖lock及死鎖deadlock系列九Oracle
- 【DEADLOCK】Oracle“死鎖”模擬Oracle
- oracle deadlock死鎖trace file分析之一Oracle
- Oracle中的死鎖Dead Lock(一)Oracle
- oracle deadlock死鎖trace file分析之一增補Oracle
- oracle lock鎖_v$lock_轉Oracle
- Oracle中的死鎖Dead Lock(二)Oracle
- oracle lock系列一Oracle
- oracle deadlock with TM lock in SX/SSX modeOracle
- ORACLE死鎖及處理方式Oracle
- 死鎖_DeadLock_示例
- RDSSQLServer死鎖(Deadlock)系列之三自動部署Profiler捕獲死鎖SQLServer
- [Java]一個DeadLock(死鎖)的例子Java
- oracle 死鎖Oracle
- oracle deadlock 之(一)--鎖機制介紹Oracle
- Oracle死鎖查詢及處理Oracle
- 殺死Oracle死鎖程式Oracle
- oracle死鎖的檢視及kill方法Oracle
- ABAP面試題系列:寫一組會出現死鎖(Deadlock)的ABAP程式面試題
- Oracle 死鎖處理Oracle
- Oracle死鎖處理Oracle
- ORACLE死鎖檢測Oracle
- 【鎖】Oracle鎖系列Oracle
- 檢視oracle死鎖程式並結束死鎖Oracle
- ORACLE基礎之oracle鎖(oracle lock mode)詳解Oracle
- 記一次Oracle死鎖/阻塞排查Oracle
- oracle 死鎖解決方法一例Oracle
- oracle lock dba_ddl_locks獲取表級共享鎖及表級排它鎖之系列八Oracle
- ORACLE 死鎖分析過程Oracle
- oracle 死鎖表解決方法Oracle
- oracle-tom死鎖演示Oracle
- ORACLE lock 轉貼Oracle
- MYSQL INNODB replace into 死鎖 及 next key lock 淺析MySql
- mysql死鎖deadlock相關幾個系統變數innodb_lock_wait_timeoutMySql變數AI
- Oracle LOCK內部機制及最佳實踐系列(五)給出一個導致死鎖的SQL示例OracleSQL
- 一個ORACLE死鎖問題的追蹤Oracle
- oracle v$lock系列之三Oracle
- 基於oracle 10.2.0.1 rac死鎖deadlock檢測時間相關隱含引數及機制之一_lm_dd_intervalOracle