国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

undo與redo的運(yùn)行機(jī)制

2024-07-21 02:06:25
字體:
供稿:網(wǎng)友

撤消與重做(undo and redo)
undo
回退段中的數(shù)據(jù)是以“回退條目”方式存儲。
回退條目=塊信息(在事務(wù)中發(fā)生改動的塊的編號)+在事務(wù)提交前存儲在塊中的數(shù)據(jù)

在每一個回退段中oracle都為其維護(hù)一張“事務(wù)表”
在事務(wù)表中記錄著與該回退段中所有回退條目相關(guān)的事務(wù)編號(事務(wù)scn&回退條目)

redo
重做記錄由一組“變更向量”組成。
每個變更變量中記錄了事務(wù)對數(shù)據(jù)庫中某個塊所做的修改。
當(dāng)用戶提交一條commit語句時,lgwr進(jìn)程會立刻將一條提交記錄寫入到重做日志文件中,然后再開始寫入與該事務(wù)相關(guān)的重做信息。

#事務(wù)提交成功后,oracle將為該事備生成一個系統(tǒng)變更碼(scn)。事務(wù)的scn將同時記錄在它的提交記錄和重做記錄中。


文章摘抄:
commit
提交事務(wù)前完成的工作:
·在sga區(qū)的回退緩存中生成該事務(wù)的回退條目。在回退條目中保存有該事務(wù)所修改的數(shù)據(jù)的原始版本。
·在sga區(qū)的重做日志緩存中生成該事務(wù)的重做記錄。重做記錄中記載了該事務(wù)對數(shù)據(jù)塊所進(jìn)行的修改,并且還記載了對回退段中的數(shù)據(jù)塊所進(jìn)行的修改。緩存中的重做記錄有可能在事務(wù)提交之前就寫入硬盤中。
·在sga區(qū)的數(shù)據(jù)庫緩豐中記錄了事務(wù)對數(shù)據(jù)庫所進(jìn)行的修改。這些修改也有可能在事務(wù)提交之前就寫入硬盤中。

提交事務(wù)時完成的工作:
·在為該事務(wù)指定的回退段中的內(nèi)部事務(wù)表內(nèi)記錄下這個事務(wù)已經(jīng)被提交,并且生成一個惟一的scn記錄在內(nèi)部事務(wù)表中,用于惟一標(biāo)識這個事務(wù)。
·lgwr后進(jìn)進(jìn)程將sga區(qū)重做日志緩存中的重做記錄寫入聯(lián)機(jī)重做日志文件。在寫入重做日志的同時還將寫入該事務(wù)的scn。
·oracle服務(wù)進(jìn)程釋放事務(wù)所使用的所有記錄鎖與表鎖。
·oracle通知用戶事務(wù)提交完成。
·oracle將該事務(wù)標(biāo)記為已完成。

rollback
回退事務(wù)完成的工作:
·oracle通過使用回退段中的回退條目,撤銷事務(wù)中所有sql語句對數(shù)據(jù)庫所做的修改。
·oracle服務(wù)進(jìn)程釋放事務(wù)所使用的所有鎖
·oracle通知事務(wù)回退成功。
·oracle將該事務(wù)標(biāo)記為已完成
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 柞水县| 江华| 托克逊县| 哈巴河县| 中山市| 大同县| 察哈| 江山市| 石阡县| 大同县| 休宁县| 营山县| 高平市| 锡林郭勒盟| 武夷山市| 林芝县| 竹北市| 轮台县| 乌兰浩特市| 灵石县| 托里县| 依安县| 克山县| 浦城县| 宁远县| 德惠市| 南昌市| 白水县| 吴忠市| 简阳市| 高淳县| 抚州市| 本溪| 读书| 大悟县| 寿光市| 太和县| 汉寿县| 哈尔滨市| 巢湖市| 福泉市|