SAP表的鎖定與解鎖

2022-06-05 21:12:06 字數 1473 閱讀 8841

表的鎖定模式有三種模式。

lock mode有三種模式:分別是s,e,x.含義如下:

s (shared lock, read lock)

e (exclusive lock, write lock)

x (exclusive lock, extended write lock, cannot be cumulated)

模式e:當更改資料的時候設定為此模式。

模式s:本身不需要更改資料,但是希望顯示的資料不被別人更改。

模式x:和e類似,但是不允許累加,完全獨佔。

允許附加鎖模式 e     s    x

e   否(是)  否(是)   否(否)

s 否(是[無其他使用者加s]) 是(是)   否(否)

x    否(否)  否(否)   否(否)

括號外為其他使用者操作,括號內為同乙個使用者的操作  

1、鎖表的通用函式:

call function 'enqueue_e_table'

exporting

*  mode_rstable        = 'e'

tabname             = 'sflight'

*  varkey              =

*  x_tabname           = ' '

*  x_varkey            = ' '

*  _scope              = '2'

*  _wait               = ' '

*  _collect            = ' '

exceptions

foreign_lock        = 1

system_failure      = 2

others              = 3.

2、為表解鎖的通用函式:

call function 'dequeue_e_table'

exporting

*  mode_rstable      = 'e'

tabname           = 'sflight'

*  varkey            =

*  x_tabname         = ' '

*  x_varkey          = ' '

*  _scope            = '3'

*  _synchron         = ' '

*  _collect          = ' '.

.也可以為特定的表建立鎖物件,在se11事物裡,選擇lock object(鎖物件),點選建立

輸入相應的引數,最後儲存,啟用即可。注意,要允許rfc

在啟用之後,會產生兩個function module,乙個用來對物件進行鎖定,另乙個是釋放物件。二者的名字都很有規律。

dequeue_到時要使用的時候直接call function module即可。

oracle被鎖定表查詢與解鎖

oracle ebs操作某乙個form介面,或者後台資料庫操作某乙個表時發現一直處於 假死 狀態,可能是該錶被某一使用者鎖定,導致其他使用者無法繼續操作 鎖表查詢sql select object name,machine,s.sid,s.serial from gv locked object l...

使用者之間表的訪問和賬戶的鎖定與解鎖

一 使用者之間表的訪問 例如 wangzihu使用者想訪問system使用者中的users表,命令如下 grant select on users to wangzihu 這是在使用者為system下所執行的命令,此時如果在 wangzihu使用者下只能查詢system使用者中users表的資料 如...

oracle資料庫鎖定與解鎖

檢視鎖定項 表鎖定 行鎖定等,如下 select rule s.username,decode l.type,tm table lock tx row lock null lock level,o.owner,o.object name,o.object type,s.sid,s.serial s....