ORACLE查詢並解除死鎖程序

2022-07-19 16:39:30 字數 2349 閱讀 7389

oracle查詢並解除死鎖程序

1、查詢死鎖程序

select

/*+rule*/

v$lock.sid,

decode(v$lock.type,

'mr'

, 'media recovery'

,'rt'

,'redo thread'

,'un'

,'user name'

,'tx'

, 'transaction'

,'tm'

, 'dml'

,'ul'

, 'pl/sql user lock'

,'dx'

, 'distributed xaction'

,'cf'

, 'control file'

,'is'

, 'instance state'

,'fs'

, 'file set'

,'ir'

, 'instance recovery'

,'st'

, 'disk space transaction'

,'ts'

, 'temp segment'

,'iv'

, 'library cache invalida-tion'

,'ls'

, 'log start or switch'

,'rw'

, 'row wait'

,'sq'

, 'sequence number'

,'te'

, 'extend table'

,'tt'

, 'temp table'

,'unknown'

) locktype,

rtrim(object_type) ||

' '|| rtrim(owner) ||

'.'|| object_name object_name,

decode(lmode,0,

'none',1

, 'null',2

, 'row-s',3

, 'row-x',4

, 'share',5

, 's/row-x',6

, 'exclusive'

,'unknown'

) lockmode,

decode(request, 0,

'none',1

, 'null',2

, 'row-s',3

, 'row-x',4

, 'share',5

, 's/row-x',6

, 'exclusive'

, 'unknown'

) requestmode,

ctime,blockb

fromv$lock, all_objects

wheresid >

8andv$lock.id1 = all_objects.object_id

如果查詢結果有記錄表明有鎖

2、這個

sql可用來生成殺死死鎖程序的

sqlselect

/*+rule*/

'alter system kill session '''

|| a.sid ||

','|| b.serial# ||

''';'

fromv$lock a, all_objects c, v$session b

wherea.sid >

8anda.id1 = c.object_id

anda.sid = b.sid;

select

/*+rule*/

'alter system kill session '''

|| a.sid ||

','|| b.serial# ||

''';'

fromv$lock a, v$session b

wherea.sid >

8anda.sid = b.sid;

3、把第二步的查詢結果匯出為指令碼,在

sqlplus

中執行該指令碼即可解除死鎖。

解除Oracle死鎖

解除oracle死鎖 1.查詢資料庫死鎖語句 select t2.username t2.sid t2.serial t2.logon time t3.sql text from v locked object t1,v session t2,v sqltext t3 where t1.sessio...

Oracle解除死鎖

電腦日益不給力,網路也隨時可能斷掉,用pl sql執行操作多多少少出現正在處理sql語句結果程式死掉了。導致這張表被鎖掉,無法執行sql操作。如何解除死鎖?1 執行下面sql,先檢視哪些表被鎖住了 select b.owner,b.object name,a.session id,a.locked ...

Oracle解除死鎖

電腦日益不給力,網路也隨時可能斷掉,用pl sql執行操作多多少少出現正在處理sql語句結果程式死掉了。導致這張表被鎖掉,無法執行sql操作。如何解除死鎖?1 執行下面sql,先檢視哪些表被鎖住了 select b.owner,b.object name,a.session id,a.locked ...