資料庫死鎖處理

2021-06-15 07:13:34 字數 924 閱讀 4119

--查詢

select

ses.sid as sid,

ses.serial# as serial_num,

ses.process  as process,

ses.username as db_username,

pro.spid     as host_pid,

ses.machine  as machine,

substr(ses.program,1,30) as program,

substr(obj.object_name,1,20) as object_name,

loc.lock_type as lock_type,

loc.mode_held as mode_held,

loc.mode_requested as mode_req,

to_char(trunc(sysdate) + loc.last_convert/(24*3600), 'hh24:mi:ss') as ctime,

loc.blocking_others as is_blocking

from v$session ses,

v$process pro,

dba_lock loc,

dba_objects obj

where ses.sid      = loc.session_id

and ses.paddr    = pro.addr

and loc.lock_id1 = obj.object_id

and ses.username is not null

order by ses.sid, ses.serial#, ses.process, ses.username

--解鎖

alter system kill session '查出的sid,查出的serial#'; 

資料庫死鎖

1.死鎖的概念 死鎖是程序死鎖的簡稱,是由dijkstra於1965年研究銀行家演算法時首先提出來的。它是計算機作業系統乃至併發程式設計中最難處理的問題之一。實際上,死鎖問題不僅在計算機系統中存在,在我們日常生活中它也廣泛存在。我們先看看這樣乙個生活中的例子 在一條河上有一座橋,橋面較窄,只能容納一...

資料庫死鎖

資料庫在進行insert,update,delete這些更新操作的時候為了保證資料一致性都會使用排他鎖。乙個事務裡進行update操作,在事務結束之前 commit or rollback 排他鎖不會被釋放。因此在乙個事務裡update多條資料的時候執行順序就尤為重要,兩個併發事務中更新操作的執行順...

資料庫死鎖

死鎖 所謂死鎖 是指兩個或兩個以上的程序在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外力作用,它們都將無法推進下去.此時稱系統處於死鎖狀態或系統產生了死鎖,這些永遠在互相等待的程序稱為死鎖程序 由於資源占用是互斥的,當某個程序提出申請資源後,使得有關程序在無外力協助下,永遠分配不到必需的...