oracle資料庫事務併發操作

2021-07-16 12:19:59 字數 536 閱讀 4547

(1)丟失資料修改

當兩個或多個事務選擇同一行,然後基於最初選定的值更新該行時,會發生丟失更新問題。每個事務都不知道其它事務的存在。最後的更新將重寫由其它事務所做的更新,這將導致資料丟失。

(2)讀「髒」資料(髒讀)

讀「髒」資料是指事務t1修改某一資料,並將其寫回磁碟,事務t2讀取同一資料後,t1由於某種原因被除撤消,而此時t1把已修改過的資料又恢復原值,t2讀到的資料與資料庫的資料不一致,則t2讀到的資料就為「髒」資料,即不正確的資料。

(3)不可重複讀

不可重複讀(nonrepeatable read)指事務1讀取資料後,事務2對資料進行了修改,導致事務1無法再次重現前一次的讀取結果。分三種情況,後兩種情況稱為幻讀:

事務1讀取某資料後,事務2對其進行了修改,當事務1再次讀取該資料時,得到的值和前一次不同。

事務1按一定條件讀取某資料後,事務2刪除了部分記錄,當事務1按照相同條件再次讀取資料時,發現某些資料消失了。

事務1按一定條件讀取某資料後,事務2增加了部分記錄,當事務1按照相同條件再次讀取資料時,發現資料增加了。

資料庫併發事務

比如有乙個方法a,在a的內部有兩次同樣的select查詢,但是在兩次select之間方法b對資料庫進行了修改,那麼查詢到的a兩次查詢到的內容是否一致呢,這其實就是資料庫的 不可重複讀 幻讀 問題 這裡用spring hibernate mysql實驗,如果方法a不在事務環境下執行,那麼查詢到的兩次結...

資料庫事務與併發

資料庫事務必須具備acid特徵 1 原子性 指整個資料事務是不可分割的工作單元。只有事務中所有操作執行成功,才算整個事務成功 事務中任何乙個sql語句執行失敗,那麼已經執行成功的sql語句也必須撤銷,資料庫狀態應該退回到執行事務前的狀態。2 一致性 指資料庫事務不能破壞關係資料的完整性以及業務邏輯上...

資料庫事務操作

1 先看看什麼是事務吧?對資料庫的每次操作都可以看做是事務。事務 transaction 是資料庫管理系統的執行單位,可以是乙個資料庫操作 如select操作 或者是一組操作序列。事務的特性 原子性 atomicity 一致性 consistency 隔離性 isolation 永續性 durabi...