事務(wù)隔離級別:一個事務(wù)對數(shù)據(jù)庫的修改與并行的另一個事務(wù)的隔離程度。
兩個并發(fā)事務(wù)同時訪問數(shù)據(jù)庫表相同的行時,可能存在以下三個問題:
1、幻想讀:事務(wù)T1讀取一條指定where條件的語句,返回結(jié)果集。此時事務(wù)T2插入一行新記錄,恰好滿足T1的where條件。然后T1使用相同的條件再次查詢,結(jié)果集中可以看到T2插入的記錄,這條新紀(jì)錄就是幻想。
2、不可重復(fù)讀取:事務(wù)T1讀取一行記錄,緊接著事務(wù)T2修改了T1剛剛讀取的記錄,然后T1再次查詢,發(fā)現(xiàn)與第一次讀取的記錄不同,這稱為不可重復(fù)讀。
3、臟讀:事務(wù)T1更新了一行記錄,還未提交所做的修改,這個T2讀取了更新后的數(shù)據(jù),然后T1執(zhí)行回滾操作,取消剛才的修改,所以T2所讀取的行就無效,也就是臟數(shù)據(jù)。
為了處理這些問題,SQL標(biāo)準(zhǔn)定義了以下幾種事務(wù)隔離級別 

Oracle數(shù)據(jù)庫支持READ COMMITTED 和 SERIALIZABLE這兩種事務(wù)隔離級別。Oracle不支持臟讀。


SQL標(biāo)準(zhǔn)所定義的默認(rèn)事務(wù)隔離級別是SERIALIZABLE,但是Oracle 默認(rèn)使用的是READ COMMITTED 設(shè)置隔離級別使用
SET TRANSACTION ISOLATION LEVEL
[READ UNCOMMITTED|READ COMMITTED|REPEATABLE READ|SERIALIZABLE]
SET TRANSACTION ISOLATION LEVEL
[READ UNCOMMITTED|READ COMMITTED|REPEATABLE READ|SERIALIZABLE]