兩段鎖協定是指每個事務的執行可以分為兩個階段:生長階段(加鎖階段)和衰退階段(解鎖階段)。
加鎖階段:在該階段可以進行加鎖操作。在對任何數據進行讀操作之前要申請並獲得S鎖,在進行寫操作之前要申請並獲得X鎖。加鎖不成功,則事務進入等待狀態,直到加鎖成功才繼續執行。
解鎖階段:當事務釋放了一個封鎖以後,事務進入解鎖階段,在該階段只能進行解鎖操作不能再進行加鎖操作。
兩段封鎖法可以這樣來實現:事務開始後就處於加鎖階段,一直到執行ROLLBACK和COMMIT之前都是加鎖階段。ROLLBACK和COMMIT使事務進入解鎖階段,即在ROLLBACK和COMMIT模組中DBMS釋放所有封鎖。