Oracle技術(shù)分享 LOCK TABLE語(yǔ)法
Oracle LOCK TABLE語(yǔ)句(鎖表)
在 Oracle 中,LOCK TABLE 語(yǔ)句可以用來(lái)鎖定表、表分區(qū)或表子分區(qū)。
LOCK TABLE語(yǔ)法
LOCK TABLE 語(yǔ)句的語(yǔ)法是:
LOCK?TABLE?tables?IN?lock_mode MODE [ WAIT [,?integer] | NOWAIT ];
參數(shù)
tables:用逗號(hào)分隔的表格列表。
lock_mode:它是以下值之一:
[td]
lock_mode
描述
ROW SHARE
允許同時(shí)訪問(wèn)表,但阻止用戶鎖定整個(gè)表以進(jìn)行獨(dú)占訪問(wèn)。
ROW EXCLUSIVE
允許對(duì)表進(jìn)行并發(fā)訪問(wèn),但阻止用戶以獨(dú)占訪問(wèn)方式鎖定整個(gè)表并以共享方式鎖定表。
SHARE UPDATE
允許同時(shí)訪問(wèn)表,但阻止用戶鎖定整個(gè)表以進(jìn)行獨(dú)占訪問(wèn)。
SHARE
允許并發(fā)查詢,但用戶無(wú)法更新鎖定的表。
SHARE ROW EXCLUSIVE
用戶可以查看表中的記錄,但是無(wú)法更新表或鎖定SHARE表中的表。
EXCLUSIVE
允許查詢鎖定的表格,但不能進(jìn)行其他活動(dòng)。
WAIT:它指定數(shù)據(jù)庫(kù)將等待(達(dá)到指定整數(shù)的特定秒數(shù))以獲取 DML 鎖定。
NOWAIT:它指定數(shù)據(jù)庫(kù)不應(yīng)該等待釋放鎖。
LOCK TABLE示例
下面是一個(gè)如何在 Oracle 中使用 LOCK TABLE 語(yǔ)句的例子:
LOCK?TABLE?suppliers IN SHARE MODE NOWAIT;
這個(gè)例子會(huì)鎖定 suppliers 表在共享模式,而不是等待鎖定被釋放。
怎么unlock table 解鎖
方法一、kill session:
方法二、rollback/commit 終止事務(wù)處理
