成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺析ORACLE鎖的種類劃分

數(shù)據(jù)庫 Oracle
本人是一個學(xué)了兩年的ORACLE愛好者,以下是本人對ORACLE鎖的一些經(jīng)驗,希望能與大家共同分享。 主要包含了常用鎖的介紹。

本人是一個學(xué)了兩年的ORACLE愛好者,以下是本人對ORACLE鎖的一些經(jīng)驗,希望能與大家共同分享。

ORACLE鎖具體分為以下幾類:

1.按用戶與系統(tǒng)劃分,可以分為自動鎖與顯示鎖

自動鎖:當進行一項數(shù)據(jù)庫操作時,缺省情況下,系統(tǒng)自動為此數(shù)據(jù)庫操作獲得所有有必要的鎖。
顯示鎖:某些情況下,需要用戶顯示的鎖定數(shù)據(jù)庫操作要用到的數(shù)據(jù),才能使數(shù)據(jù)庫操作執(zhí)行得更好,顯示鎖是用戶為數(shù)據(jù)庫對象設(shè)定的。

2.按鎖級別劃分,可分為共享鎖與排它鎖

共享鎖:共享鎖使一個事務(wù)對特定數(shù)據(jù)庫資源進行共享訪問——另一事務(wù)也可對此資源進行訪問或獲得相同共享鎖。共享鎖為事務(wù)提供高并發(fā)性,但如拙劣的事務(wù)設(shè)計+共享鎖容易造成死鎖或數(shù)據(jù)更新丟失。
 
排它鎖:事務(wù)設(shè)置排它鎖后,該事務(wù)單獨獲得此資源,另一事務(wù)不能在此事務(wù)提交之前獲得相同對象的共享鎖或排它鎖。

3.按操作劃分,可分為DML鎖、DDL鎖

+DML鎖又可以分為,行鎖、表鎖、死鎖

-行鎖:當事務(wù)執(zhí)行數(shù)據(jù)庫插入、更新、刪除操作時,該事務(wù)自動獲得操作表中操作行的排它鎖。

-表級鎖:當事務(wù)獲得行鎖后,此事務(wù)也將自動獲得該行的表鎖(共享鎖),以防止其它事務(wù)進行DDL語句影響記錄行的更新。事務(wù)也可以在進行過程中獲得共享鎖或排它鎖,只有當事務(wù)顯示使用LOCK TABLE語句顯示的定義一個排它鎖時,事務(wù)才會獲得表上的排它鎖,也可使用LOCK TABLE顯示的定義一個表級的共享鎖(LOCK TABLE具體用法請參考相關(guān)文檔)。

-死鎖:當兩個事務(wù)需要一組有沖突的鎖,而不能將事務(wù)繼續(xù)下去的話,就出現(xiàn)死鎖。
如事務(wù)1在表A行記錄#3中有一排它鎖,并等待事務(wù)2在表A中記錄#4中排它鎖的釋放,而事務(wù)2在表A記錄行#4中有一排它鎖,并等待事務(wù); 1在表A中記錄#3中排它鎖的釋放,事務(wù)1與事務(wù)2彼此等待,因此就造成了死鎖。死鎖一般是因拙劣的事務(wù)設(shè)計而產(chǎn)生。死鎖只能使用SQL下:alter system kill session "sid,serial#";或者使用相關(guān)操作系統(tǒng)kill進程的命令,如UNIX下kill -9 sid,或者使用其它工具殺掉死鎖進程。
 
+DDL鎖又可以分為:排它DDL鎖、共享DDL鎖、分析鎖

-排它DDL鎖:創(chuàng)建、修改、刪除一個數(shù)據(jù)庫對象的DDL語句獲得操作對象的 排它鎖。如使用alter table語句時,為了維護數(shù)據(jù)的完成性、一致性、合法性,該事務(wù)獲得一排它DDL鎖。

-共享DDL鎖:需在數(shù)據(jù)庫對象之間建立相互依賴關(guān)系的DDL語句通常需共享獲得DDL鎖。
如創(chuàng)建一個包,該包中的過程與函數(shù)引用了不同的數(shù)據(jù)庫表,當編譯此包時,該事務(wù)就獲得了引用表的共享DDL鎖。
 
-分析鎖:ORACLE使用共享池存儲分析與優(yōu)化過的SQL語句及PL/SQL程序,使運行相同語句的應(yīng)用速度更快。一個在共享池中緩存的對象獲得它所引用數(shù)據(jù)庫對象的分析鎖。分析鎖是一種獨特的DDL鎖類型,ORACLE使用它追蹤共享池對象及它所引用數(shù)據(jù)庫對象之間的依賴關(guān)系。當一個事務(wù)修改或刪除了共享池持有分析鎖的數(shù)據(jù)庫對象時,ORACLE使共享池中的對象作廢,下次在引用這條SQL/PLSQL語句時,ORACLE重新分析編譯此語句。

4.內(nèi)部閂鎖

內(nèi)部閂鎖:這是ORACLE中的一種特殊鎖,用于順序訪問內(nèi)部系統(tǒng)結(jié)構(gòu)。當事務(wù)需向緩沖區(qū)寫入信息時,為了使用此塊內(nèi)存區(qū)域,ORACLE首先必須取得這塊內(nèi)存區(qū)域的閂鎖,才能向此塊內(nèi)存寫入信息。
  

以上是本人對ORACLE鎖的一些總結(jié),不足之處還望大家海涵,同時也希望大家多提出自己對ORACLE鎖的一些看法。

【編輯推薦】

  1. 修改Oracle存 儲過程所需代碼
  2. 對Oracle存儲過程的總結(jié)
  3. 實現(xiàn)Oracle存 儲過程的實際應(yīng)用的代碼 
  4. 深入高性能的 Oracle動態(tài)SQL開發(fā) 
  5. Oracle SQL的 優(yōu)化規(guī)則解析 
責(zé)任編輯:佚名
相關(guān)推薦

2018-09-12 10:10:11

云存儲種類特征

2011-12-26 15:58:01

枚舉

2010-07-19 17:57:22

SQL Server鎖

2009-12-25 15:41:10

Linux shell

2009-09-14 15:12:30

XML節(jié)點類型

2009-07-24 11:35:08

2022-06-27 11:09:06

邊緣計算

2011-10-20 13:37:46

OracleNoSQL數(shù)據(jù)庫

2010-04-14 14:14:42

Oracle用戶解鎖

2010-04-26 17:15:13

Oracle優(yōu)化器

2011-03-21 13:10:01

OracleDDL鎖

2010-04-16 16:12:51

jdbc分頁

2010-04-23 14:55:31

Oracle字符

2010-07-14 10:13:37

服務(wù)器種類

2013-11-27 10:28:48

IT產(chǎn)品服務(wù)器入門級

2015-03-25 12:02:29

VLSM可變長子網(wǎng)掩碼子網(wǎng)劃分

2010-04-29 13:12:18

Oracle合并函數(shù)

2010-04-09 15:35:28

Oracle數(shù)據(jù)庫

2009-11-23 10:24:22

2011-03-29 14:19:57

Oracle備份
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲毛片网站 | 日韩午夜在线观看 | 一片毛片| 欧美成人a∨高清免费观看 老司机午夜性大片 | 久草资源在线 | www.蜜桃av.com| 91人人爽 | 一区二区三区四区五区在线视频 | 欧美日韩高清 | 日韩视频免费 | 国产男人的天堂 | 欧美日韩免费一区二区三区 | 精品一区二区三区在线视频 | 欧美午夜精品 | 三级高清| 黄色国产| 欧美久久一区二区 | 亚洲xx在线 | 天天操天天干天天透 | 免费观看黄色片视频 | 一道本不卡| 欧美 日韩 中文 | 欧美色综合天天久久综合精品 | 午夜av电影 | 粉嫩在线 | 午夜ww| 免费在线看黄视频 | 亚洲综合精品 | 精品日韩一区二区三区 | 91久久久久久久久久久久久 | 成人99| 99久久免费精品 | 精品一区二区三区视频在线观看 | 国产剧情一区 | 精品国产不卡一区二区三区 | 日本黄色片免费在线观看 | 国产福利久久 | 欧美在线网站 | 免费成人在线网站 | 国产小视频在线观看 | 欧美在线视频一区二区 |