成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

?分布式事務鎖介紹及一般處理方法

IT那活兒 / 1231人閱讀
?分布式事務鎖介紹及一般處理方法

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


目的

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


知識點描述

分布式事務,簡單來說,是指一個事務在本地和遠程執(zhí)行,本地需要等待確認遠程的事務結束后,進行下一步本地的操作。如通過dblink update遠程數(shù)據(jù)庫的一行記錄,如果在執(zhí)行過程中網(wǎng)絡異常,或者其他事件導致本地數(shù)據(jù)庫無法得知遠程數(shù)據(jù)庫的執(zhí)行情況,此時就會發(fā)生in doublt的報錯。
當前的分布式事務處于Two-Phase Commit機制中的prepared階段,這個階段事務已經(jīng)在表上加鎖了,現(xiàn)在我們要訪問這些表,但事務沒有結束,一直持有鎖,導致訪問資源失敗報ORA-01591。分布式事務所持有的鎖之所以堵塞讀操作,是因為oralce不知道該顯示哪個版本的數(shù)據(jù)。當一個分布式事務死掉時,由于該事務沒有正常結束,導致事務持有的鎖一直沒有釋放,所以在訪問這個事務涉及的資源時,申請不到鎖資源,所以報ORA-01591。

ORA-01591錯誤一般是由于分布式事務造成的,造成分布式事務失敗的原因可能是庫之間的網(wǎng)絡突然中斷或者更新操作窗口會話被斷開,造成兩個庫中的事務信息不一致,導致有殘余的分布式事務信息未被釋放。


標準指導操作

3.1 分布式事務兩階段提交
兩階段提交協(xié)議可以保證數(shù)據(jù)的強一致性,許多分布式關系型數(shù)據(jù)管理系統(tǒng)采用此協(xié)議來完成分布式事務。
它是協(xié)調所有分布式原子事務參與者,并決定提交或取消(回滾)的分布式算法。同時也是解決一致性問題的算法。該算法能夠解決很多的臨時性系統(tǒng)故障(包括進程、網(wǎng)絡節(jié)點、通信等故障),被廣泛地使用。但是,它并不能夠通過配置來解決所有的故障,在某些情況下它還需要人為的參與才能解決問題。
兩階段提交分為Prepare Phase (準備階段)和Commit Phase (提交階段)
1)準備階段
協(xié)調者向參與者發(fā)起指令,參與者評估自己的狀態(tài),如果參與者評估指令可以完成,則會寫redo或者undo日志(Write-Ahead Log的一種),然后鎖定資源,執(zhí)行操作,但是并不提交。
2)提交階段
如果每個參與者明確返回準備成功,也就是預留資源和執(zhí)行操作成功,則協(xié)調者向參與者發(fā)起提交指令,參與者提交資源變更的事務,釋放鎖定的資源;如果任何一個參與者明確返回準備失敗,也就是預留資源或者執(zhí)行操作失敗,則協(xié)調者向參與者發(fā)起中止指令,參與者取消已經(jīng)變更的事務,執(zhí)行undo日志,釋放鎖定的資源。
3.2 存在的問題
兩階段提交協(xié)議在準備階段鎖定資源,這是一個非常損耗資源的操作,能保證強一致性,但是實現(xiàn)起來復雜、成本較高、不夠靈活,更重要的是它有一些致命的問題。
1)阻塞
從上面的描述來看,對于任何一次指令都必須收到明確的響應,才會繼續(xù)進行下一步,否則處于阻塞狀態(tài),占用的資源被一直鎖定,不會被釋放。
2)單點故障
如果協(xié)調者宕機,參與者沒有協(xié)調者指揮,則會一直阻塞,盡管可以通過選舉新的協(xié)調者替代原有協(xié)調者,但是如果協(xié)調者在發(fā)送一個提交指令后宕機,而提交指令僅僅被一個參與者接收,并且參與者接收后也宕機,則新上任的協(xié)調者無法處理這種情況。
3)腦裂
協(xié)調者發(fā)送提交指令,有的參與者接收到并執(zhí)行了事務,有的參與者沒有接收到事務就沒有執(zhí)行事務,多個參與者之間是不一致的。
4)數(shù)據(jù)狀態(tài)不確定
協(xié)調者再發(fā)出commit消息之后丟失,而唯一接收到這條消息的參與者同時也丟失了。那么即使協(xié)調者通過選舉協(xié)議產(chǎn)生了新的協(xié)調者,這條事務的狀態(tài)也是不確定的,沒人知道事務是否被已經(jīng)提交。
3.3 一般解決方法
對于分布式事務鎖一般性解決方法為對事務進行回滾使兩者數(shù)據(jù)庫回到正常狀態(tài);Rollback force的參數(shù)是DBA_2PC_PENDING中記錄本地事務信息的編號即LOCAL_TRAN_ID。語法命令:Rollback force ‘20.13.1546896’


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

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

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

轉載請注明本文地址:http://m.hztianpu.com/yun/129158.html

相關文章

  • 為Java程序員金三銀四精心挑選的300余道Java面試題與答案

    摘要:為程序員金三銀四精心挑選的余道面試題與答案,歡迎大家向我推薦你在面試過程中遇到的問題我會把大家推薦的問題添加到下面的常用面試題清單中供大家參考。 為Java程序員金三銀四精心挑選的300余道Java面試題與答案,歡迎大家向我推薦你在面試過程中遇到的問題,我會把大家推薦的問題添加到下面的常用面試題清單中供大家參考。 前兩天寫的以下博客,大家比較認可,熱度不錯,希望可以幫到準備或者正在參加...

    tomorrowwu 評論0 收藏0
  • TiDB 在轉轉的業(yè)務實戰(zhàn)

    摘要:而批處理,可以復用一條簡單,實現(xiàn)批量數(shù)據(jù)的寫入或更新,為系統(tǒng)帶來更低更穩(wěn)定的耗時。批處理的簡要流程說明如下經(jīng)業(yè)務中實踐,使用批處理方式的寫入或更新,比常規(guī)或性能更穩(wěn)定,耗時也更低。 作者:陳維,轉轉優(yōu)品技術部 RD。 開篇 世界級的開源分布式數(shù)據(jù)庫 TiDB 自 2016 年 12 月正式發(fā)布第一個版本以來,業(yè)內諸多公司逐步引入使用,并取得廣泛認可。 對于互聯(lián)網(wǎng)公司,數(shù)據(jù)存儲的重要性不...

    hover_lew 評論0 收藏0
  • 【推薦】最新200篇:技術文章整理

    摘要:作為面試官,我是如何甄別應聘者的包裝程度語言和等其他語言的對比分析和主從復制的原理詳解和持久化的原理是什么面試中經(jīng)常被問到的持久化與恢復實現(xiàn)故障恢復自動化詳解哨兵技術查漏補缺最易錯過的技術要點大掃盲意外宕機不難解決,但你真的懂數(shù)據(jù)恢復嗎每秒 作為面試官,我是如何甄別應聘者的包裝程度Go語言和Java、python等其他語言的對比分析 Redis和MySQL Redis:主從復制的原理詳...

    BicycleWarrior 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

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