日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Oracle數(shù)據(jù)庫的DML命令的處理過程詳解

Oracle數(shù)據(jù)庫的DML命令的處理過程是本文我們主要要介紹的內(nèi)容,從Oracle 9i起,有兩種undo的管理方式:自動(dòng)Undo管理(Automatic Undo Management,簡稱AUM)和手工Undo管理(Manual Undo Management,簡稱MUM)。Oracle 9i之前只能使用MUM,而且在MUM中,undo segment又叫做rollback segment。從Oracle 9i起,Oracle就建議使用AUM,而不應(yīng)再使用MUM了。

在龍馬潭等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需求定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),營銷型網(wǎng)站,成都外貿(mào)網(wǎng)站建設(shè),龍馬潭網(wǎng)站建設(shè)費(fèi)用合理。

DML語句與undo

當(dāng)我們發(fā)出一條DML(比如update tab set col1='A' where col1='B')語句時(shí),其執(zhí)行過程可大致概括為以下幾步。

1、在shared pool里進(jìn)行解析,從而生成執(zhí)行計(jì)劃。

2、假設(shè)根據(jù)執(zhí)行計(jì)劃,得出col1='B'的記錄存放在10號數(shù)據(jù)文件的54號數(shù)據(jù)塊里。

3、服務(wù)器進(jìn)程在buffer cache里找一個(gè)可用的undo數(shù)據(jù)塊,如果沒有發(fā)現(xiàn),則到undo表空間里找一個(gè)可用的undo塊,并調(diào)入buffer cache。假設(shè)獲得的undo數(shù)據(jù)塊號為24號,位于11號undo數(shù)據(jù)文件里。

4、將改變前的值,也就是A放入11號undo數(shù)據(jù)塊。

5、由于undo數(shù)據(jù)塊發(fā)生了變化,于是產(chǎn)生重做記錄,假設(shè)重做記錄號為120。

行號 事務(wù)id file# block# row column value

120 T1 24 11 10 col1 A

6、在buffer cache里找到54號數(shù)據(jù)塊。如果沒有發(fā)現(xiàn),則從10號數(shù)據(jù)文件里調(diào)入。

7、將改變后的值,也就是B放入54號數(shù)據(jù)塊。

8、由于數(shù)據(jù)塊發(fā)生了變化,于是產(chǎn)生重做記錄,假設(shè)重做記錄號為121。

行號 事務(wù)id file# block# row column value

121 T1 10 54 10 col1 B

9、控制權(quán)返回給用戶,如果在SQL*Plus里執(zhí)行DML,則表現(xiàn)為光標(biāo)返回。

10、當(dāng)用戶發(fā)出commit命令時(shí),觸發(fā)LGWR進(jìn)程,將120與121這兩個(gè)重做記錄寫入聯(lián)機(jī)日志文件,并將54號數(shù)據(jù)塊和11號undo數(shù)據(jù)塊頭部所記錄的事務(wù)狀態(tài)標(biāo)記設(shè)置為已提交。然后控制權(quán)返回給用戶,如果在SQL*Plus里執(zhí)行DML操作,則表現(xiàn)為光標(biāo)返回。

11、這個(gè)時(shí)候,54號數(shù)據(jù)塊以及11號undo塊并不一定被DBWn寫入數(shù)據(jù)文件。只有在臟數(shù)據(jù)塊的數(shù)量達(dá)到一定程度才會被寫入。

事務(wù)只要被提交或回滾,那么該事務(wù)所使用的undo塊就可以被覆蓋。對于上面的例子來說,當(dāng)?shù)?0步,用戶發(fā)出commit命令以后,11號undo塊里的數(shù)據(jù)就可以被其他事務(wù)所覆蓋。

關(guān)于Oracle數(shù)據(jù)庫的DML命令的處理過程的相關(guān)知識就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!

【編輯推薦】

  1. Oracle學(xué)習(xí)筆記之DECODE及常用窗口函數(shù)
  2. Oracle數(shù)據(jù)庫各類控制語句的使用詳細(xì)介紹
  3. Oracle數(shù)據(jù)庫日期范圍查詢的兩種實(shí)現(xiàn)方式
  4. Oracle數(shù)據(jù)庫只讀模式的CACHE BUFFERS CHAINS測試
  5. Oracle 10g數(shù)據(jù)庫中UNDO_RETENTION參數(shù)的使用詳解

標(biāo)題名稱:Oracle數(shù)據(jù)庫的DML命令的處理過程詳解
文章來源:http://www.5511xx.com/article/dhhogsi.html