国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

ORACLE 鎖

瀏覽:47日期:2023-11-15 08:20:29
Oracle數(shù)據(jù)庫(kù)是現(xiàn)今數(shù)據(jù)庫(kù)領(lǐng)域應(yīng)用最廣泛的,同時(shí)它也是一個(gè)龐大的系統(tǒng),全面了解它、玩轉(zhuǎn)它不但需要一定的理論知識(shí),更需要開(kāi)發(fā)經(jīng)驗(yàn)與工程經(jīng)驗(yàn)。本人是ORACLE一愛(ài)好者,以下是本人對(duì)ORACLE鎖的一些經(jīng)驗(yàn),希望能與大家共同分享。 ORACLE鎖具體分為以下幾類(lèi):1.按用戶(hù)與系統(tǒng)劃分,可以分為自動(dòng)鎖與顯示鎖自動(dòng)鎖:當(dāng)進(jìn)行一項(xiàng)數(shù)據(jù)庫(kù)操作時(shí),缺省情況下,系統(tǒng)自動(dòng)為此數(shù)據(jù)庫(kù)操作獲得所有有必要的鎖。顯示鎖:某些情況下,需要用戶(hù)顯示的鎖定數(shù)據(jù)庫(kù)操作要用到的數(shù)據(jù),才能使數(shù)據(jù)庫(kù)操作執(zhí)行得更好,顯示鎖是用戶(hù)為數(shù)據(jù)庫(kù)對(duì)象設(shè)定的。2.按鎖級(jí)別劃分,可分為共享鎖與排它鎖共享鎖:共享鎖使一個(gè)事務(wù)對(duì)特定數(shù)據(jù)庫(kù)資源進(jìn)行共享訪問(wèn)——另一事務(wù)也可對(duì)此資源進(jìn)行訪問(wèn)或獲得相同共享鎖。共享鎖為事務(wù)提供高并發(fā)性,但如拙劣的事務(wù)設(shè)計(jì)+共享鎖輕易造成死鎖或數(shù)據(jù)更新丟失。排它鎖:事務(wù)設(shè)置排它鎖后,該事務(wù)單獨(dú)獲得此資源,另一事務(wù)不能在此事務(wù)提交之前獲得相同對(duì)象的共享鎖或排它鎖。3.按操作劃分,可分為DML鎖、DDL鎖+DML鎖又可以分為,行鎖、表鎖、死鎖-行鎖:當(dāng)事務(wù)執(zhí)行數(shù)據(jù)庫(kù)插入、更新、刪除操作時(shí),該事務(wù)自動(dòng)獲得操作表中操作行的排它鎖。-表級(jí)鎖:當(dāng)事務(wù)獲得行鎖后,此事務(wù)也將自動(dòng)獲得該行的表鎖(共享鎖),以防止其它事務(wù)進(jìn)行DDL語(yǔ)句影響記錄行的更新。事務(wù)也可以在進(jìn)行過(guò)程中獲得共享鎖或排它鎖,只有當(dāng)事務(wù)顯示使用LOCK TABLE語(yǔ)句顯示的定義一個(gè)排它鎖時(shí),事務(wù)才會(huì)獲得表上的排它鎖,也可使用LOCK TABLE顯示的定義一個(gè)表級(jí)的共享鎖(LOCK TABLE具體用法請(qǐng)參考相關(guān)文檔)。-死鎖:當(dāng)兩個(gè)事務(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è)計(jì)而產(chǎn)生。死鎖只能使用SQL下:alter system kill session 'sid,serial#';或者使用相關(guān)操作系統(tǒng)kill進(jìn)程的命令,如UNIX下kill -9 sid,或者使用其它工具殺掉死鎖進(jìn)程。+DDL鎖又可以分為:排它DDL鎖、共享DDL鎖、分析鎖-排它DDL鎖:創(chuàng)建、修改、刪除一個(gè)數(shù)據(jù)庫(kù)對(duì)象的DDL語(yǔ)句獲得操作對(duì)象的 排它鎖。如使用alter table語(yǔ)句時(shí),為了維護(hù)數(shù)據(jù)的完成性、一致性、合法性,該事務(wù)獲得一排它DDL鎖。-共享DDL鎖:需在數(shù)據(jù)庫(kù)對(duì)象之間建立相互依靠關(guān)系的DDL語(yǔ)句通常需共享獲得DDL鎖。如創(chuàng)建一個(gè)包,該包中的過(guò)程與函數(shù)引用了不同的數(shù)據(jù)庫(kù)表,當(dāng)編譯此包時(shí),該事務(wù)就獲得了引用表的共享DDL鎖。-分析鎖:ORACLE使用共享池存儲(chǔ)分析與優(yōu)化過(guò)的SQL語(yǔ)句及PL/SQL程序,使運(yùn)行相同語(yǔ)句的應(yīng)用速度更快。一個(gè)在共享池中緩存的對(duì)象獲得它所引用數(shù)據(jù)庫(kù)對(duì)象的分析鎖。分析鎖是一種獨(dú)特的DDL鎖類(lèi)型,ORACLE使用它追蹤共享池對(duì)象及它所引用數(shù)據(jù)庫(kù)對(duì)象之間的依靠關(guān)系。當(dāng)一個(gè)事務(wù)修改或刪除了共享池持有分析鎖的數(shù)據(jù)庫(kù)對(duì)象時(shí),ORACLE使共享池中的對(duì)象作廢,下次在引用這條SQL/PLSQL語(yǔ)句時(shí),ORACLE重新分析編譯此語(yǔ)句。4.內(nèi)部閂鎖內(nèi)部閂鎖:這是ORACLE中的一種非凡鎖,用于順序訪問(wèn)內(nèi)部系統(tǒng)結(jié)構(gòu)。當(dāng)事務(wù)需向緩沖區(qū)寫(xiě)入信息時(shí),為了使用此塊內(nèi)存區(qū)域,ORACLE首先必須取得這塊內(nèi)存區(qū)域的閂鎖,才能向此塊內(nèi)存寫(xiě)入信息。以上是 本人對(duì)ORACLE鎖的一些總結(jié),不足之處還望大家海涵,同時(shí)也希望大家多提出自己對(duì)ORACLE鎖的一些看法。
主站蜘蛛池模板: 99视频网址 | 亚洲综合国产 | 二区三区在线 | 欧美一区二区三区久久综 | 99久久综合狠狠综合久久一区 | 久久综合精品国产一区二区三区 | 最新国产午夜精品视频成人 | 亚洲精品久久久成人 | 在线一级片 | 91精品国产乱码久久久久久 | 欧美精品亚洲精品日韩一区 | 美女视频免费黄色 | 亚洲欧美日本在线观看 | 亚洲国产韩国一区二区 | 精品国产成a人在线观看 | 欧美三级不卡在线观看视频 | 高清在线一区二区三区亚洲综合 | 91一级片 | 国产日韩精品视频 | 免费人成网站 | 国产在线乱子伦一区二区 | 欧美高清视频在线观看 | 欧美在线a级高清 | 久久久久久毛片免费观看 | 欧洲成人免费视频 | 亚洲国产精品看片在线观看 | 欧美性欲视频 | 成 人 a v免费视频 | 亚洲视频在线精品 | 欧美a一 | www亚洲成人 | 国产精品.com| 亚洲第一网站 | 国产精品欧美亚洲 | 九九re6精品视频在线观看 | 日韩国产片 | 免费视频成人国产精品网站 | 韩国美女爽快一级毛片黄 | 精品一久久香蕉国产线看观 | 欧美激情伦妇在线观看 | 99精品免费在线 |