selectname,valuefromv$parameterwherenamelike'%undo%';NAMEVALUE----------------------" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

oracle 隔離性(isolation)

系統 2304 0

  數據庫事務(ACID)中的I指隔離性(isolation):未完成的(也就是未提交的)事務必須不可視。在某個事務進行期間,只有執行該事務的一個會話能看到所做的變化。

  oracle是通過使用還原段來實現隔離性的。還原段(undo)的目的:(1)事務恢復;(2)事務回滾;(3)讀一致性

代碼
SQL > select ?name,value? from ?v$parameter? where ?name? like ? ' %undo% ' ;

NAME???????????????????????????VALUE
-- ----------------------------?------------------------------
undo_management????????????????AUTO
undo_tablespace????????????????UNDO
undo_retention?????????????????
900?????????????????

  下面通過update的過程來分析隔離性的實現。

? oracle 隔離性(isolation)

?  首先,在DML操作影響的所有記錄以及關聯索引鍵上放置鎖定;接下來會生成重做,此時服務器進程在日志緩沖區中寫入即將應用于指定數據塊的變化。這個重做生成操作應用于數據塊的變化和撤銷塊的變化,如果列是索引的一部分,也將索引的變化以及保護索引變化的撤銷塊變化寫入日志緩沖區。在生成重做后,完成(1)?(2)操作。然后,如上圖片如示進行。

?

PS:我開始的時候一直不能理解隔離性,即如果沒有commit的話,只有執行update的session才能看到變化,其它的session還是看到原來的值。更疑惑的是,當執行commit(只會觸發LGWR,并不會觸發DBWR)的時候,數據并沒有真正寫入db files,而其它的session居然可以看到更新的值。直至,了解到撤銷段和重定向的使用的時候,才解惑了。

?

oracle 隔離性(isolation)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 林口县| 眉山市| 左贡县| 江口县| 东阳市| 汤阴县| 赤壁市| 阿拉善左旗| 新津县| 台山市| 历史| 循化| 洪洞县| 横山县| 深州市| 宁陵县| 乃东县| 二连浩特市| 广东省| 开江县| 库尔勒市| 巨鹿县| 辉南县| 丽江市| 白水县| 治多县| 赤城县| 镇雄县| 深圳市| 武冈市| 福安市| 灌南县| 句容市| 肃北| 天全县| 镶黄旗| 安龙县| 奈曼旗| 临颍县| 图片| 桐城市|