1.檢視資料庫的程序。select * from pg_stat_activity where datname='死鎖的資料庫id ';
檢索出來的字段中,【wating 】字段,資料為t的那條,就是死鎖的程序,找到對應的【procpid 】列的值。
例如:select procpid from pg_stat_activity where datname='資料庫id' and waiting ='t';
2.殺掉程序。
kill有兩種方式,第一種是:
select pg_cancel_backend(pid);
這種方式只能killselect查詢,對update、delete 及dml不生效)
第二種是:
select pg_terminate_backend(pid);
這種可以kill掉各種操作(select、update、delete、drop等)操作
Oracle檢視死鎖
檢視有哪些表被鎖住 select b.owner,b.object name,a.session id,a.locked mode from v locked object a,dba objects b where b.object id a.object id select b.username...
檢視死鎖p lockinfo
set quoted identifier on go set ansi nulls on go exec proc p lockinfo 0,0 alter proc p lockinfo kill lock spid bit 1,是否殺掉死鎖的程序,1 殺掉,0 僅顯示 show spid if...
GDB 檢視死鎖
死鎖 一種情形,此時執行程式中兩個或多個執行緒發生永久堵塞 等待 每個執行緒都在等待被 其他執行緒占用並堵塞了的資源。例如,如果執行緒a鎖住了記錄1並等待記錄2,而執行緒b鎖住了記錄2並等待記錄1,這樣兩個執行緒就發生了死鎖現象。gdb除錯死鎖的方法 gdb attach pid 找到 lll lo...