681
技術社區[雲棲]
oracle table-lock的5種模式
Oracle中的鎖定可以分為幾類:DML lock(data lock),DDL lock(dictionary lock)和internal lock/latch。DML lock又可以分為row lock和table lock。row lock在select.. for update/insert/update/delete時隱式自動產生,而table lock除了隱式產生,也可以調用lock table in name來顯示鎖定。
如果不希望別的session lock/insert/update/delete表中任意一行,隻允許查詢,可以用lock table table_name in exclusive mode。(X)這個鎖定模式級別最高,並發度最小。
如果允許別的session查詢或用select for update鎖定記錄,不允許insert/update/delete,可以用lock table table_name in share row exclusive mode。(SRX)
如 果允許別的session查詢或select for update以及lock table table_name in share mode,隻是不允許insert/update/delete,可以用lock table table_name in share mode。(share mode和share row exclusive mode的區別在於一個是非搶占式的而另一個是搶占式的。進入share row exclusive mode後其他session不能阻止你insert/update/delete,而進入share mode後其他session也同樣可以進入share mode,進而阻止你對表的修改。(S)
還有兩種鎖定模式,row share(RS)和row exclusive(RX)。他們允許的並發操作更多,一般直接用DML語句自動獲得,而不用lock語句。
詳細參考concepts文檔中的"Type Of Locks":https://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96524/c21cnsis.htm
文章轉自莊周夢蝶 ,原文發布時間5.17
最後更新:2017-05-17 12:01:51
上一篇:
創建型模式摘記
下一篇:
websphere5.1上使用普通client調用EJB需要注意的問題
Automatic logon configuration on Linux OS
html文件中引入css代碼
雙態運維聯盟工作會議暨2017年度雙態運維大會烏鎮峰會籌備會在新華三杭州園區召開
error while loading shared libraries: libpcre.so.1: cannot open shared object file
C++對象模型(一):The Semantics of Constructors The Default Constructor (默認構造函數什麼時候會被創建出來)
酷斃了,全國首個程序員主題咖啡店居然長這樣!
《Apache Zookeeper 官方文檔》-4 ZooKeeper編程指南
magento -- 提供壓縮版prototype.js下載
想改進你的卷積神經網絡?看看這14種設計模式!
冷靜下來後 互聯網醫療如何才能實現優質平等的醫療服務?