久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

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

ORACLE 鎖

瀏覽:31日期:2023-11-15 08:20:29
Oracle數(shù)據(jù)庫是現(xiàn)今數(shù)據(jù)庫領(lǐng)域應(yīng)用最廣泛的,同時它也是一個龐大的系統(tǒng),全面了解它、玩轉(zhuǎn)它不但需要一定的理論知識,更需要開發(fā)經(jīng)驗與工程經(jīng)驗。本人是ORACLE一愛好者,以下是本人對ORACLE鎖的一些經(jīng)驗,希望能與大家共同分享。 ORACLE鎖具體分為以下幾類:1.按用戶與系統(tǒng)劃分,可以分為自動鎖與顯示鎖自動鎖:當(dā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鎖又可以分為,行鎖、表鎖、死鎖-行鎖:當(dāng)事務(wù)執(zhí)行數(shù)據(jù)庫插入、更新、刪除操作時,該事務(wù)自動獲得操作表中操作行的排它鎖。-表級鎖:當(dāng)事務(wù)獲得行鎖后,此事務(wù)也將自動獲得該行的表鎖(共享鎖),以防止其它事務(wù)進行DDL語句影響記錄行的更新。事務(wù)也可以在進行過程中獲得共享鎖或排它鎖,只有當(dāng)事務(wù)顯示使用LOCK TABLE語句顯示的定義一個排它鎖時,事務(wù)才會獲得表上的排它鎖,也可使用LOCK TABLE顯示的定義一個表級的共享鎖(LOCK TABLE具體用法請參考相關(guān)文檔)。-死鎖:當(dāng)兩個事務(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ù)庫表,當(dāng)編譯此包時,該事務(wù)就獲得了引用表的共享DDL鎖。-分析鎖:ORACLE使用共享池存儲分析與優(yōu)化過的SQL語句及PL/SQL程序,使運行相同語句的應(yīng)用速度更快。一個在共享池中緩存的對象獲得它所引用數(shù)據(jù)庫對象的分析鎖。分析鎖是一種獨特的DDL鎖類型,ORACLE使用它追蹤共享池對象及它所引用數(shù)據(jù)庫對象之間的依靠關(guān)系。當(dāng)一個事務(wù)修改或刪除了共享池持有分析鎖的數(shù)據(jù)庫對象時,ORACLE使共享池中的對象作廢,下次在引用這條SQL/PLSQL語句時,ORACLE重新分析編譯此語句。4.內(nèi)部閂鎖內(nèi)部閂鎖:這是ORACLE中的一種非凡鎖,用于順序訪問內(nèi)部系統(tǒng)結(jié)構(gòu)。當(dāng)事務(wù)需向緩沖區(qū)寫入信息時,為了使用此塊內(nèi)存區(qū)域,ORACLE首先必須取得這塊內(nèi)存區(qū)域的閂鎖,才能向此塊內(nèi)存寫入信息。以上是 本人對ORACLE鎖的一些總結(jié),不足之處還望大家海涵,同時也希望大家多提出自己對ORACLE鎖的一些看法。
標(biāo)簽: Oracle 數(shù)據(jù)庫
主站蜘蛛池模板: 精品国产乱码久久久久久1区2区 | 中文字幕综合在线 | 成人激情视频免费观看 | 欧美国产综合 | ririsao久久精品一区 | 久久精品免费 | 久久国产精品久久久久久 | 欧美一级网站 | 性做久久久久久久免费看 | 亚洲久久一区 | 国产精品久久9 | 精精国产xxxx视频在线 | 久久久高清 | 成人在线 | 国产精品777一区二区 | 毛片毛片毛片毛片毛片毛片 | 日本一区二区在线视频 | 国产剧情一区二区 | 久久a国产 | 欧美久久精品一级c片 | 久草久草久 | 毛片视频观看 | 自拍视频在线播放 | 日韩成人在线看 | 7777奇米影视 | 中文字幕在线观看 | 国产精品久久久久久久久免费桃花 | 国产高清视频在线 | 欧美一性一交 | 另类 综合 日韩 欧美 亚洲 | 台湾av在线 | 国产乱a视频在线 | 国产日韩欧美视频 | 精品久久久久久久久久久久久久久久久久久 | 黄色地址 | 亚洲专区在线播放 | 国产成人精品一区二 | 亚洲欧美日韩国产综合精品二区 | 亚洲精品在线视频 | 久久久99久久久国产自输拍 | 九九热精 |