IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁(yè)數(shù)據(jù)庫(kù)Oracle → oracle delete執(zhí)行過(guò)程

oracle delete執(zhí)行過(guò)程

時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)

  Oracle中Delete和Commit操作的流程分析

  (1)刪除(Delete)流程

  * Oracle讀Block(數(shù)據(jù)塊)到Buffer Cache(緩沖區(qū))(如果該Block在Buffer中不存在);

  * 在Redo Log Buffer(重做日志緩沖區(qū))中記錄Delete操作的細(xì)節(jié);

  * 在相應(yīng)回滾段段頭的事物表中創(chuàng)建一個(gè)Undo(回滾)條目;

  * 把將要?jiǎng)h除的記錄創(chuàng)建前鏡像,存放到Undo Block(回滾塊)中;

  * 在Buffer Cache中的相應(yīng)數(shù)據(jù)塊上刪除記錄,并且標(biāo)記相應(yīng)的數(shù)據(jù)塊為Dirty(臟)。

 ?。?)提交(Commit)流程

  * Oracle產(chǎn)生一個(gè)SCN;

  * 在回滾段事物表中標(biāo)記該事物狀態(tài)為Commited;

  * LGWR(日志讀寫進(jìn)程)Flush Log Buffer到日志文件;

  * 如果此時(shí)數(shù)據(jù)塊仍然在Buffer Cache中,那么SCN將被記錄到Block Header上,這被稱為快速提交;

  * 如果Dirty Block已經(jīng)被寫回到磁盤,那么下一個(gè)訪問(wèn)這個(gè)Block的進(jìn)程將會(huì)自回滾段中獲取該事物的狀態(tài),確認(rèn)該事物被提交。然后這個(gè)進(jìn)程獲得提交SCN并寫回到Block Header上,這被稱為延遲塊清除。

關(guān)鍵詞標(biāo)簽:oracle

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 oracle中使用SQL語(yǔ)句修改字段類型-oracle修改SQL語(yǔ)句案例 oracle中使用SQL語(yǔ)句修改字段類型-oracle修改SQL語(yǔ)句案例 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語(yǔ)句修改字段類型-oracle修改SQL語(yǔ)句案例 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 ORACLE SQL 判斷字符串是否為數(shù)字的語(yǔ)句 ORACLE和SQL語(yǔ)法區(qū)別歸納(1) oracle grant 授權(quán)語(yǔ)句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法