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

Oracle并發(fā)處理機(jī)制的簡單看法

數(shù)據(jù)庫 Oracle 數(shù)據(jù)庫運(yùn)維
在大型應(yīng)用系統(tǒng)開發(fā)過程中,經(jīng)常會(huì)因?yàn)楹雎詫?duì)并發(fā)處理的考慮而造成系統(tǒng)在生產(chǎn)環(huán)境中出現(xiàn)問題,而且并發(fā)問題最難跟蹤,本文將就談?wù)凮racle并發(fā)處理機(jī)制的簡單看法。

Oracle開發(fā)過程中,如果你只是獨(dú)立地測試你的應(yīng)用,然后部署,并交給數(shù)十個(gè)并發(fā)用戶使用,就很有可能痛苦地遭遇原先未能檢測到的并發(fā)問題。例如,2個(gè)用戶同時(shí)修改某張訂單,首先他們會(huì)查詢這張訂單存在不存在,如果存在,那么修改它的狀態(tài)。在并發(fā)操作中,用戶1會(huì)很奇怪的發(fā)現(xiàn)他的修改丟失了。當(dāng)然,除此之外,在未能夠很好的處理并發(fā)問題可能遭遇的情況還有:

◆破壞數(shù)據(jù)的完整性。

◆隨著用戶數(shù)的增多,應(yīng)用的運(yùn)行速度減慢。

◆不能很好地?cái)U(kuò)縮應(yīng)用來支持大量用戶。

為解決這些問題。首先要引入的是ORACLE的鎖機(jī)制。數(shù)據(jù)庫使用鎖(lock)來保證任何給定時(shí)刻最多只有一個(gè)事務(wù)在修改給定的一段數(shù)據(jù)。實(shí)質(zhì)上講,正是鎖機(jī)制才使并發(fā)控制成為可能。對(duì)ORACLE的鎖機(jī)制可以查看ORACLE官方文檔介紹。以下是對(duì)ORACLE鎖的一點(diǎn)總結(jié)。

Oracle只在修改時(shí)才對(duì)數(shù)據(jù)加行級(jí)鎖。正常情況下不會(huì)升級(jí)到塊級(jí)鎖或表級(jí)鎖(不過兩段提交期間的一段很短的時(shí)間內(nèi)除外,這是一個(gè)不常見的操作)。

◆如果只是讀數(shù)據(jù),Oracle絕不會(huì)對(duì)數(shù)據(jù)鎖定。不會(huì)因?yàn)楹唵蔚淖x操作在數(shù)據(jù)行上鎖定。

◆寫入器(writer)不會(huì)阻塞讀取器(reader)。換種說法:讀(read)不會(huì)被寫(write)阻塞。這一點(diǎn)幾乎與其他所有數(shù)據(jù)庫都不一樣。在其他數(shù)據(jù)庫中,讀往往會(huì)被寫阻塞。盡管聽上去這個(gè)特性似乎很不錯(cuò)(一般情況下確實(shí)如此),但是,如果你沒有充分理解這個(gè)思想,而且想通過應(yīng)用邏輯對(duì)應(yīng)用施加完整性約束,就極有可能做得不對(duì)。

◆寫入器想寫某行數(shù)據(jù),但另一個(gè)寫入器已經(jīng)鎖定了這行數(shù)據(jù),此時(shí)該寫入器才會(huì)被阻塞。讀取器絕對(duì)不會(huì)阻塞寫入器。

開發(fā)人員要盡可能的考慮以上因素。而且還要意識(shí)到這些事ORACLE獨(dú)有的。針對(duì)其他數(shù)據(jù)庫,在鎖的應(yīng)用上略有不同。

以DB2為例

1.Oracle通過具有意向鎖的多粒度封鎖機(jī)制進(jìn)行并發(fā)控制,保證數(shù)據(jù)的一致性。其DML鎖(數(shù)據(jù)鎖)分為兩個(gè)層次(粒度):即表級(jí)和行級(jí)。通常的DML操作在表級(jí)獲得的只是意向鎖(RS或RX),其真正的封鎖粒度還是在行級(jí);DB2也是通過具有意向鎖的多粒度封鎖機(jī)制進(jìn)行并發(fā)控制,保證數(shù)據(jù)的一致性。

其DML鎖(數(shù)據(jù)鎖)分為兩個(gè)層次(粒度):即表級(jí)和行級(jí)。通常的DML操作在表級(jí)獲得的只是意向鎖(IS,SIX或IX),其真正的封鎖粒度也是在行級(jí);另外,在Oracle數(shù)據(jù)庫中,單純地讀數(shù)據(jù)(SELECT)并不加鎖,這些都提高了系統(tǒng)的并發(fā)程度,Oracle強(qiáng)調(diào)的是能夠"讀"到數(shù)據(jù),并且能夠快速的進(jìn)行數(shù)據(jù)讀取。而DB2的鎖強(qiáng)調(diào)的是"讀一致性",進(jìn)行讀數(shù)據(jù)(SELECT)時(shí)會(huì)根據(jù)不同的隔離級(jí)別(RR,RS,CS)而分別加S,IS,IS鎖,只有在使用UR隔離級(jí)別時(shí)才不加鎖。從而保證不同應(yīng)用程序和用戶讀取的數(shù)據(jù)是一致的。

2. 在支持高并發(fā)度的同時(shí),DB2和Oracle對(duì)鎖的操縱機(jī)制有所不同:Oracle利用意向鎖及數(shù)據(jù)行上加鎖標(biāo)志位等設(shè)計(jì)技巧,減小了Oracle維護(hù)行級(jí)鎖的開銷,使其在數(shù)據(jù)庫并發(fā)控制方面有著一定的優(yōu)勢。而DB2中對(duì)每個(gè)鎖會(huì)在鎖的內(nèi)存(locklist)中申請(qǐng)分配一定字節(jié)的內(nèi)存空間,具體是X鎖64字節(jié)內(nèi)存,S鎖32字節(jié)內(nèi)存(注:DB2 V8之前是X鎖72字節(jié)內(nèi)存而S鎖36字節(jié)內(nèi)存)。

3. Oracle數(shù)據(jù)庫中不存在鎖升級(jí),而DB2數(shù)據(jù)庫中當(dāng)數(shù)據(jù)庫表中行級(jí)鎖的使用超過locklist*maxlocks會(huì)發(fā)生鎖升級(jí)。

4. 在Oracle中當(dāng)一個(gè)session對(duì)表進(jìn)行insert,update,delete時(shí)候,另外一個(gè)session仍然可以從Orace回滾段或者還原表空間中讀取該表的前映象(before image); 而在DB2中當(dāng)一個(gè)session對(duì)表進(jìn)行insert,update,delete時(shí)候,另外一個(gè)session仍然在讀取該表數(shù)據(jù)時(shí)候會(huì)處于lock wait狀態(tài),除非使用UR隔離級(jí)別可以讀取***個(gè)session的未提交的值;所以O(shè)racle同一時(shí)刻不同的session有讀不一致的現(xiàn)象,而DB2在同一時(shí)刻所有的session都是"讀一致"的。

您正在閱讀的是《Oracle并發(fā)處理機(jī)制的簡單看法

【編輯推薦】

  1. 讓Oracle表列管理更加簡單的三個(gè)方法
  2. Oracle中查詢r(jià)ownum和rowid的區(qū)別
  3. 淺析Oracle中的表空間查詢方法
責(zé)任編輯:彭凡 來源: cnblogs
相關(guān)推薦

2011-03-17 09:20:05

異常處理機(jī)制

2010-04-08 15:43:28

Oracle緩沖塊

2011-07-01 14:20:59

Qt 事件

2011-07-01 14:14:34

Qt 事件

2025-06-25 06:18:46

Linux多線程機(jī)制

2011-04-06 10:27:46

Java異常處理

2024-03-04 10:00:35

數(shù)據(jù)庫處理機(jī)制

2011-07-21 15:20:41

java異常處理機(jī)制

2009-06-19 16:20:14

ASP.NET錯(cuò)誤處理

2009-09-02 18:34:28

C#鼠標(biāo)事件

2021-07-03 17:53:52

Java異常處理機(jī)制

2010-03-05 15:40:16

Python異常

2009-08-05 18:09:17

C#異常處理機(jī)制

2009-07-09 18:15:42

JDBC事務(wù)處理

2023-03-08 08:54:59

SpringMVCJava

2023-11-08 09:49:19

Java實(shí)踐

2009-07-31 11:28:42

錯(cuò)誤處理機(jī)制ASP.NET

2009-08-06 09:45:53

AOS多核處理機(jī)制上網(wǎng)行為管理青蓮

2011-09-05 17:40:40

MTK定時(shí)器

2014-06-05 10:38:39

LinkedIn數(shù)據(jù)架構(gòu)
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 99久久精品视频免费 | 日本激情一区二区 | 91综合网 | 欧美日韩不卡合集视频 | 欧美日韩国产一区二区 | 丁香久久 | 国产九一精品 | 男女视频在线观看 | 国产69久久精品成人看动漫 | 免费国产一区二区 | 91av视频在线播放 | 亚洲欧洲在线观看视频 | 午夜欧美a级理论片915影院 | 黄色网址免费在线观看 | 国产乱码久久久久久一区二区 | 亚洲欧美在线一区 | 一区二区精品 | 久久久妇女国产精品影视 | 久久精品国产亚洲夜色av网站 | 欧美 日韩 中文 | 久久人人网 | 欧美性受xxxx白人性爽 | 精品久久不卡 | 黄色大全免费看 | 欧美精品在线播放 | 欧美日韩一区在线观看 | 欧美综合精品 | 色综合国产| 国产精品成人一区二区三区 | 91免费在线视频 | 中文字幕1区 | 天堂亚洲网 | 波多野结衣在线观看一区二区三区 | 精品久久九九 | 日韩三极 | 精品中文在线 | 国产精品日韩一区 | 亚洲天天干 | 亚洲人成在线观看 | 人人99 | 国产美女在线精品免费 |