oracle事務講解 事務隔離級別例項

2021-09-02 13:21:08 字數 1165 閱讀 6088

今天溫習oracle事務,記錄如下: 

事務定義

事務是保持資料的一致性,它由相關的ddl或者dml語句做為載體,這組語句執行的結果要麼一起成功,要麼一起失敗。

我們知道sql92標準定義了資料庫事務的四個特點:

2.事務控制命令

3.鎖的概念

鎖是為了保證多個併發的事務在引用同乙個資源時,對資源的保護,同時也防止事物間的相互破壞。

4.oracle中鎖型別

不允許其它使用者對該錶插入,刪除,修改操作,只能查詢,同時其它使用者不能修改和鎖定表

死鎖 : 所個事務對資源的相互等待,造成死鎖。

5.事務隔離級別

事務隔離級別定義了事務之間的隔離程度。sql92標準中定義了4中隔離級別。

通過一些現象,可以反映出設定事務隔離級別產生的效果:

事務t1讀取一條指定where條件的語句,返回結果集。此時事務t2插入一行新記錄,恰好滿足t1的where條件。然後t1使用相同的條件再次查詢,結果集中可以看到t2插入的記錄,這條新紀錄就是幻想。

髒讀: 事務t1修改了一條資料,但是還未提交,事務t2恰好讀取到了這條修改後了的資料,此時t1將事務回滾,這個時候t2讀取到的資料就是髒資料,稱為髒讀。

不可重複讀取

:事務t1讀取一行記錄,緊接著事務t2修改了t1剛剛讀取的記錄,然後t1再次查詢,發現與第一次讀取的記錄不同,這稱為不可重複讀。

6.oracle的事務隔離級別

oracle

提供了sql92標準中的read committed和serializable,同時提供了非sql92標準的read-only。

serializable

設定隔離級別

設定單個會話的隔離級別

7.具體例子

演示2個事務,t1更新表a的資料,t2刪除表2的資料下面將t1提交,t2得到執行

t1提交後的情況

演示事務的隔離級別

mysql事務隔離級別詳解 事務的隔離級別詳解

事務的隔離級別 在資料庫操作中,為了有效保證併發讀取資料的正確性,提出的事務隔離級別。問題的提出 資料庫是要被廣大客戶所共享訪問的,那麼在資料庫操作過程中很可能出現以下幾種不確定情況。更新丟失 兩個事務都同時更新一行資料,乙個事務對資料的更新把另乙個事務對資料的更新覆蓋了。這是因為系統沒有執行任何的...

理解事務的隔離性

理解事務的隔離性 事務是以可控的方式對資料資源進行訪問的一組操作。其屬性包括原子性 一致性 隔離性和永續性,也就是常說的acid。其中,隔離性是針對資料資源的併發訪問,規定了各個事務之間相互影響的程度。個人認為這是事務的4個特性裡面,比較難理解的乙個。事實上,事務的隔離性可以分為4種型別的隔離級別 ...

npm mysql 事務 mysql事務隔離級別

準備命令 檢視隔離級別 select global.tx isolation,tx isolation 修改當前會話隔離級別 set session tx isolation read uncommitted set session tx isolation read committed set s...