熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracledelete執行過程的流程介紹

2013-11-13 22:16:12  來源: Oracle 

  以下的文章主要介紹的是Oracle delete的執行過程我們大家都知道Oracle delete與Commit的實際操作的相關流程的具體分析以下就是對其實際的操作流程的介紹望你在浏覽之後會有所收獲

  ()刪除(delete)流程

  Oracle讀Block(數據塊)到Buffer Cache(緩沖區)(如果該Block在Buffer中不存在)

  在Redo Log Buffer(重做日志緩沖區)中記錄Oracledelete操作的細節

  在相應回滾段段頭的事物表中創建一個Undo(回滾)條目

  把將要刪除的記錄創建前鏡像存放到Undo Block(回滾塊)中

  在Buffer Cache中的相應數據塊上刪除記錄並且標記相應的數據塊為Dirty(髒)

  ()提交(Commit)流程

  Oracle產生一個SCN

  在回滾段事物表中標記該事物狀態為Commited

  LGWR(日志讀寫進程)Flush Log Buffer到日志文件

  如果此時數據塊仍然在Buffer Cache中那麼SCN將被記錄到Block Header上這被稱為快速提交

  如果Dirty Block已經被寫回到磁盤那麼下一個訪問這個Block的進程將會自回滾段中獲取該事物的狀態確認該事物被提交然後這個進程獲得提交SCN並寫回到Block Header上這被稱為延遲塊清除


From:http://tw.wingwit.com/Article/program/Oracle/201311/18643.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.