帶您了解DB2鎖的類(lèi)型
DB2鎖的類(lèi)型都有哪些呢?這是很多人都提到過(guò)的問(wèn)題,下面就為您詳細(xì)解讀DB2鎖的類(lèi)型,希望對(duì)您學(xué)習(xí)DB2鎖方面能有所幫助。
鎖狀態(tài)確定了對(duì)鎖的所有者允許的訪問(wèn)類(lèi)型,以及對(duì)鎖定數(shù)據(jù)資源的并發(fā)用戶(hù)許可的訪問(wèn)類(lèi)型。下面的列表說(shuō)明了可用的鎖狀態(tài),按照遞增控制排序:
鎖狀態(tài)(模式): 意向無(wú)(Intent None,IN)
適用對(duì)象: 表空間和表
描述: 鎖的擁有者可以讀取鎖定表中的數(shù)據(jù)(包括未提交數(shù)據(jù)),但不能更改這些數(shù)據(jù)。在這種模式中,鎖的擁有者不獲取行級(jí)別的鎖;因此,其它并發(fā)應(yīng)用程序可以讀取和更改表中的數(shù)據(jù)。
鎖狀態(tài)(模式): 意向共享(Intent Share,IS)
適用對(duì)象: 表空間和表
描述: 鎖的擁有者可以讀取鎖定表中的數(shù)據(jù),但不能更改這些數(shù)據(jù)。同樣,因?yàn)殒i的擁有者不獲取行級(jí)別鎖;所以,其它并發(fā)的應(yīng)用程序仍可以讀取和更改表中的數(shù)據(jù)。(當(dāng)事務(wù)擁有表上的意向共享鎖時(shí),就在它所讀取的每個(gè)行上進(jìn)行共享鎖定。)當(dāng)事務(wù)不傳達(dá)更新表中行的意圖時(shí),就獲取這種鎖。
鎖狀態(tài)(模式): 下一鍵共享(Next Key Share,NS)
適用對(duì)象: 行
描述: 鎖擁有者和所有并發(fā)的事務(wù)都可以讀(但不能更改)鎖定行中的數(shù)據(jù)。這種鎖用來(lái)在使用“讀穩(wěn)定性”或“游標(biāo)穩(wěn)定性”事務(wù)隔離級(jí)別讀取的數(shù)據(jù)上代替共享鎖。
鎖狀態(tài)(模式): 共享(S)
適用對(duì)象: 表和行
描述: 鎖擁有者和任何其它并發(fā)的事務(wù)都可以讀(但不能更改)鎖定的表或行中的數(shù)據(jù)。只要表不是使用共享鎖鎖定的,那么該表中的單個(gè)行可以使用共享鎖鎖定。但是,如果表是用共享鎖定的,則鎖擁有者不能在該表中獲取行級(jí)別的共享鎖。如果表或行是用共享鎖鎖定的,則其它并發(fā)事務(wù)可以讀取數(shù)據(jù),但不能對(duì)它進(jìn)行更改。
鎖狀態(tài)(模式): 意向互斥(Intent Exclusive,IX)
適用對(duì)象: 表空間和表
描述: 鎖擁有者和任何其它并發(fā)的應(yīng)用程序都可以讀取和更改被鎖定表中的數(shù)據(jù)。當(dāng)鎖擁有者從表讀取數(shù)據(jù)時(shí),它在所讀取的每一行上獲取一個(gè)共享鎖,而在它更新的每一行上獲取更新和互斥鎖。其它并發(fā)的應(yīng)用程序可以讀取和更新鎖定的表。當(dāng)事務(wù)傳達(dá)更新表中行的意圖時(shí),就獲取這種鎖。(SELECT FOR UPDATE、UPDATE ... WHERE 和 INSERT 語(yǔ)句傳達(dá)更新的意圖。)
鎖狀態(tài)(模式): 帶意向互斥的共享(Share With Intent Exclusive,SIX)
適用對(duì)象: 表
描述: 鎖擁有者可以讀取和更改被鎖定表中的數(shù)據(jù)。鎖擁有者在它更新的行上獲取互斥鎖,但不獲取它讀取的行上的鎖;因此,其它并發(fā)的應(yīng)用程序可以讀取但不能更新被鎖定表中的數(shù)據(jù)。
鎖狀態(tài)(模式): 更新(Update,U)
適用對(duì)象: 表和行
描述: 鎖的擁有者可以更新被鎖定表中的數(shù)據(jù),并且鎖的擁有者在它所更新的任何行上自動(dòng)獲得互斥鎖。其它并發(fā)的應(yīng)用程序可以但不能更新被鎖定表中的數(shù)據(jù)。
鎖狀態(tài)(模式): 下一鍵互斥(Next Key Exclusive,NX)
適用對(duì)象: 行
描述: 鎖的擁有者可以讀取但不能更新被鎖定的行。當(dāng)在表的索引中插入或刪除行時(shí),表中的下一行上將獲得這種鎖。
鎖狀態(tài)(模式): 下一鍵弱互斥(Next Key Weak Exclusive,NW)
適用對(duì)象: 行
描述: 鎖的擁有者可以讀取但不能更新被鎖定的行。當(dāng)向非目錄表的索引插入行時(shí),表中下一行上就獲得這種鎖。
鎖狀態(tài)(模式): 互斥(Exclusive,X)
適用對(duì)象: 表和行
描述: 鎖的擁有者可以讀取和更改被鎖定的表或行中的數(shù)據(jù)。如果獲取了互斥鎖,則只允許使用“未提交的讀”隔離級(jí)別的應(yīng)用程序訪問(wèn)被鎖定的表或行(多行)。對(duì)于用 INSERT、UPDATE 和/或 DELETE 語(yǔ)句操作的數(shù)據(jù)資源,將獲取互斥鎖。
鎖狀態(tài)(模式): 弱互斥(Weak Exclusive,WE)
適用對(duì)象: 行
描述: 鎖的擁有者可以讀取和更改被鎖定的行。當(dāng)向非目錄表中插入行時(shí),該行上將獲得這種鎖。
鎖狀態(tài)(模式): 超級(jí)互斥(Super Exclusive,Z)
適用對(duì)象: 表空間和表
描述: 鎖的擁有者可以更改表、刪除表、創(chuàng)建索引或刪除索引。當(dāng)事務(wù)嘗試執(zhí)行上述任何一種操作時(shí),表上就自動(dòng)獲得這種鎖。在除去這個(gè)鎖之前,不允許其它并發(fā)事務(wù)讀取或更新該表。
【編輯推薦】