国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

分布式事務鎖特殊情況強制處理方法

IT那活兒 / 1844人閱讀
分布式事務鎖特殊情況強制處理方法

點擊上方“IT那活兒”公眾號,關注后了解更多內容,不管IT什么活兒,干就完了!!!


目的

通過建立知識庫管理,積累、保存信息和知識資產,為團隊內部信息和知識的傳播提供平臺,實現團隊內知識共享,也使得企業知識得到很好的精煉和沉淀。


知識點描述

分布式事務及分布式事務鎖介紹:
分布式事務,簡單來說,是指一個事務在本地和遠程執行,本地需要等待確認遠程的事務結束后,進行下一步本地的操作。如通過dblink update遠程數據庫的一行記錄,如果在執行過程中網絡異常,或者其他事件導致本地數據庫無法得知遠程數據庫的執行情況,此時就會發生in doublt的報錯。
當前的分布式事務處于Two-Phase Commit機制中的prepared階段,這個階段事務已經在表上加鎖了,現在我們要訪問這些表,但事務沒有結束,一直持有鎖,導致訪問資源失敗報ORA-01591。
分布式事務所持有的鎖之所以堵塞讀操作,是因為oralce不知道該顯示哪個版本的數據。當一個分布式事務死掉時,由于該事務沒有正常結束,導致事務持有的鎖一直沒有釋放,所以在訪問這個事務涉及的資源時,申請不到鎖資源,所以報ORA-01591。
ORA-01591錯誤一般是由于分布式事務造成的,造成分布式事務失敗的原因可能是庫之間的網絡突然中斷或者更新操作窗口會話被斷開,造成兩個庫中的事務信息不一致,導致有殘余的分布式事務信息未被釋放。
任何事務都有特殊情況,分布式事務鎖的一般性解決方案是直接進行回滾,或等待網絡自動連接后數據庫自動調配解決;

特殊情況下當強制回滾無法相應時,還有兩個備用操作可以解決——重啟數據庫與修改數據庫基表數據。但后者修改基表的風險是比較大的,慎用?。?!


標準指導操作

3.1 重啟數據庫自動解決
風險:對于業務數據庫來說,重啟之后如果其上的業務無法自動轉移到另一個集群節點上,那么會對業務運行造成影響,更進一步的,會對其他與之關聯的數據庫業務也造成影響。
因此這種風險的重點在于風險擴散。
3.2 修改數據庫基表
1)分布式事務原理
兩階段提交協議可以保證數據的強一致性,許多分布式關系型數據管理系統采用此協議來完成分布式事務。它是協調所有分布式原子事務參與者,并決定提交或取消(回滾)的分布式算法。同時也是解決一致性問題的算法。該算法能夠解決很多的臨時性系統故障(包括進程、網絡節點、通信等故障),被廣泛地使用。但是,它并不能夠通過配置來解決所有的故障,在某些情況下它還需要人為的參與才能解決問題。兩階段提交分為Prepare Phase (準備階段)和Commit Phase (提交階段)。
2)修改基表原理
對數據庫基表pending_trans$和pending_sessions$錄入分布式事務的相關數據,提交數據后對該事務也進行提交,偽造該分布式事務已經完成的記錄,從而使得該鎖能夠成功釋放。
3)風險:官方一般不建議修改數據庫基表信息,基表屬于oracle后端表,修改基表相當于數據欺騙,人為干預本該數據庫可以自動完成的過程,可能導致數據不一致,數據混亂,或者基表數據異常進而影響其他事務執行。慎用!!
4)修改方法
*對基表pending_trans$和pending_sessions$手動錄入事務3128.22.4729750的數據。
*數據錄入完成后對表數據提交,同時對該事務進行強制commit,偽造成該事務已完成的記錄。提交完成后該分布式事務鎖便可解開。
*由于該事務的執行記錄是偽造的,因此還需清除本地數據庫所記載的遠程事務入口,該事務入口操作因為遠程數據庫問題未能在遠程數據庫完成。即在事務鎖解開后清除該條偽造的事務數據記錄。完成后便可正常對表進行操作。


本文作者:陳炎亮(上海新炬王翦團隊)

本文來源:“IT那活兒”公眾號


文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129154.html

相關文章

  • Redis 布式--PHP

    摘要:分布式鎖的作用在單機環境下,有個秒殺商品的活動,在短時間內,服務器壓力和流量會陡然上升。分布式集群業務業務場景下,每臺服務器是獨立存在的。這里就用到了分布式鎖這里簡單介紹一下,以的事務機制來延生。 Redis 分布式鎖的作用 在單機環境下,有個秒殺商品的活動,在短時間內,服務器壓力和流量會陡然上升。這個就會存在并發的問題。想要解決并發需要解決以下問題 1、提高系統吞吐率也就是qps 每...

    canger 評論0 收藏0
  • 關系型數據庫中的事務管理詳解:并發控制與事務日志

    摘要:關系型數據庫中的事務管理詳解并發控制與事務日志數據庫系統的萌芽出現于年代。并發控制并發控制旨在針對數據庫中對事務并行的場景,保證中的一致性與隔離性。絕大部分數據庫會采用鎖或者數據版本控制的方式來處理并發控制問題。 本文節選自:關系型數據庫理論 https://url.wx-coder.cn/DJNQn ,涉及引用/整理的文章列舉在了 Database-List。 showImg(htt...

    Pink 評論0 收藏0

發表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<