資料庫系列之死鎖(四)

2021-04-15 15:03:47 字數 325 閱讀 6433

概要:

什麼是死鎖?

死鎖是怎麼造成的?

怎麼查詢?

如何解決及避免?

死鎖:deadlock,是指兩個或兩個以上的程序在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外

力作用,它們都將無法推進下去.此時稱系統處於死鎖狀態或系統產生了死鎖,這些永遠在互相等待的程序稱為死

鎖程序.

阻塞:當來自應用程式的第乙個連線控制鎖而第二個連線需要相衝突的鎖型別時,將發生阻塞。其結果是強制

第二個連線等待,而在第乙個連線上阻塞。

阻塞是不可完全避免的,不是死鎖;

死鎖如何造成的: 

資料庫技術之死鎖的例項和監測

背景介紹 知識理解 事務回滾 在銀行給別人轉賬,但可能錢已經扣了,對方也沒有得到錢,自己肯定不樂意了,然後銀行就進行事務回滾,不儲存你剛才轉賬的操作,恢復到原來未轉賬的狀態。步入正題 我們的資料庫中是不允許死鎖發生的,死鎖會導致其中乙個事務的回滾,整個事務的提交失敗,而且死鎖還會占用大量的資源,使我...

oracle資料庫簡易故障排查之死鎖處理

有時候我們的儲存過程執行很久,從日誌又沒辦法確定這個儲存過程是否正常的情況下,如何確定是否存在問題呢。後面想了下日常執行一些儲存過程或者資料庫執行緩慢的時候除了收集awr報告和看日誌外,簡易的處理方法,總結如下 1 查詢資料庫中有哪些鎖 select t2.username,t2.sid,t2.se...

資料庫系列 資料庫事務 鎖 死鎖

保障資料庫事務的鎖 非鎖 死鎖 資料庫事務級別 事務級別的使用 注意事項 髒讀 不可重複讀 幻讀 不可重複讀 幻讀 事務的實現原理 寫鎖 讀寫鎖的公升級關係 也是產生死鎖的原因 共享鎖 獨佔鎖 意向共享鎖 事務在給乙個資料行加共享鎖前必須先取得該錶的is鎖。意向排他鎖 事務在給乙個資料行加排他鎖前必...