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

Oracle數(shù)據(jù)庫(kù)的DML命令的處理過程詳解

數(shù)據(jù)庫(kù) Oracle
對(duì)于DML語(yǔ)句來(lái)說(shuō),只要修改了數(shù)據(jù)塊,Oracle數(shù)據(jù)庫(kù)就會(huì)將修改前的數(shù)據(jù)保留下來(lái),保存在undo segment里,而undo segment則保存在undo表空間里。本文我們主要介紹一下Oracle數(shù)據(jù)庫(kù)的DML命令的處理過程,希望能夠?qū)δ兴斋@!

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

DML語(yǔ)句與undo

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

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

2、假設(shè)根據(jù)執(zhí)行計(jì)劃,得出col1='B'的記錄存放在10號(hào)數(shù)據(jù)文件的54號(hào)數(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ù)塊號(hào)為24號(hào),位于11號(hào)undo數(shù)據(jù)文件里。

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

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

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

120 T1 24 11 10 col1 A

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

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

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

行號(hào) 事務(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號(hào)數(shù)據(jù)塊和11號(hào)undo數(shù)據(jù)塊頭部所記錄的事務(wù)狀態(tài)標(biāo)記設(shè)置為已提交。然后控制權(quán)返回給用戶,如果在SQL*Plus里執(zhí)行DML操作,則表現(xiàn)為光標(biāo)返回。

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

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

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

【編輯推薦】

  1. Oracle學(xué)習(xí)筆記之DECODE及常用窗口函數(shù)
  2. Oracle數(shù)據(jù)庫(kù)各類控制語(yǔ)句的使用詳細(xì)介紹
  3. Oracle數(shù)據(jù)庫(kù)日期范圍查詢的兩種實(shí)現(xiàn)方式
  4. Oracle數(shù)據(jù)庫(kù)只讀模式的CACHE BUFFERS CHAINS測(cè)試
  5. Oracle 10g數(shù)據(jù)庫(kù)中UNDO_RETENTION參數(shù)的使用詳解
責(zé)任編輯:趙鵬 來(lái)源: CSDN博客
相關(guān)推薦

2011-04-11 16:42:05

Oracle無(wú)法啟動(dòng)

2019-08-19 11:07:41

SQL數(shù)據(jù)庫(kù)優(yōu)化

2010-04-02 12:23:30

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

2010-04-07 14:22:46

2009-07-20 17:49:07

JSF請(qǐng)求處理

2010-06-09 18:17:20

Postfix郵件

2010-06-02 18:00:05

Postfix郵件

2009-09-02 18:52:38

Oracle數(shù)據(jù)庫(kù)并行

2011-07-20 16:28:54

Oracle數(shù)據(jù)庫(kù)shared pool

2011-05-26 14:43:49

ORACLE數(shù)據(jù)庫(kù)異常處理

2011-08-16 13:17:29

2011-05-19 13:25:14

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

2010-11-19 10:38:26

Oracle XE自帶

2011-08-16 18:55:10

Oracle數(shù)據(jù)庫(kù)構(gòu)造過程

2009-07-15 16:29:41

Swing繪畫

2011-02-21 13:26:47

Postfix郵件處理

2010-04-02 13:59:08

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

2010-04-14 15:14:11

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

2010-04-02 17:11:45

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

2011-08-11 16:55:34

Oracle數(shù)據(jù)庫(kù)AWR
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 日本精品视频在线观看 | 日韩一区二区三区在线观看 | 久久黄色网 | 一区二区精品在线 | 国产成人免费视频网站视频社区 | 正在播放国产精品 | 在线视频成人 | 99国产精品久久久久久久 | 日韩在线一区二区三区 | 精品av| 81精品国产乱码久久久久久 | 国产一区免费 | 亚洲日韩中文字幕 | 国产线视频精品免费观看视频 | 日韩欧美在线不卡 | 成人欧美一区二区三区白人 | 欧美一区二区在线 | 亚洲区一区二区 | 精精国产xxxx视频在线播放 | 亚洲精品视频在线 | 羞羞色影院 | 精品真实国产乱文在线 | 美国av片在线观看 | 福利视频网址 | 91久久精品一区二区二区 | 日韩第一页 | 成人综合视频在线 | 欧美理论在线观看 | 成人精品一区二区 | 久久久久www | 国产一区二区中文字幕 | 亚洲激情自拍偷拍 | 日本精品一区 | 国产精品久久久久久亚洲调教 | 精品无码久久久久久国产 | 91社区在线观看播放 | 亚洲天天干 | 日韩成人在线播放 | 国产精品国产成人国产三级 | 一级黄色片网址 | 日日操夜夜摸 |