1、AWT緩存組
AWT緩存組是TimesTen的異步寫緩存,數據只允許在TimesTen中修改,然后同步到Oracle。當然,TimesTen中的數據最初是從Oracle加載而來。對于存儲來說,cache分為write-through(直接寫)和write-back(回寫),而TimesTen的AWT對應的就是存儲的write-back。由于有雙向的數據流動,對于AWT,除了只讀緩存組所需的cacheagent外,還需要一個replicationagent,負責數據從TimesTen到Oracle的同步。使用AWT緩存的好處除了性能外,還可以保證當后端Oracle失效時,TimesTen仍可以接收和修改數據,保證數據不丟失,待Oracle正常后,數據自動同步到后端。
AWT緩存組可以保證:
1.不會因為Oracle失效而丟數據,且可以通過復制代理replicationagent自動恢復。
2.不會因復制代理replicationagent失效而丟數據,自動恢復。
3.保證數據的一致性。
AWT緩存組數據流向圖
2、ClassicReplication(傳統復制)
當前應用的TimesTen內存庫的復制方式為ClassicReplication。Replication就是在多個數據庫中存在多份數據拷貝,對性能影響最小的同時保證數據高可用,除了數據恢復外,還可以均衡工作負載,以最大化性能和實現滾動升級和維護。它的特點是比較靈活,支持豐富的復制拓撲形式,可以利用雙活復制實現業務系統的橫向擴展,利用一對多復制實現數據分發和讀寫分離等。
對TimesTen的AWT核心緩存組的誤操作進行恢復
2.1故障現象
(1)運維人員和應用人員收到告警通知,包括日志告警、服務告警、內存使用率告警
(2)用戶查余額異常,日志積壓嚴重且長時間刷不掉
2.2故障分析
(1)后因客戶通報,操作人員在AWT緩存組上進行了delete全表刪除誤操作,該表接近1000萬的數據量。由于是AWT緩存組,刪除操作會同步到物理庫,直接導致嚴重的數據丟失。
(2)kill掉delete進程后,日志積壓的問題仍未緩解
(3)急停replicationagent,切斷AWT緩存組到Oracle的數據同步
(4)經各方討論,原因應該是delete操作已經寫入了TimesTen的日志記錄,timesten是通過日志的方式將數據同步到Oracle,日志是自動排序的且是按順序進行同步處理的,因replicationagent已停,日志就不能自動同步。因此陷入死循環:若停止replicationagent,日志會積壓,數據不能同步;若開啟replicationagent,delete操作會同步到oracle造成數據丟失。
2.3故障處理
第一階段:主庫恢復
1、備份物理庫中的相關表數據,同時備份TT中異常緩存組的數據(TT中備份語句如下)
如:ttbulkcp-o -s "|" "DSN=ABM_BAL_WH"ABM1_BAL_WH.ACCT_BALANCE_T ACCT_BALANCE_T.txt
2、停相關應用或應用切離線
3、刪除TT庫中異常緩存組的復制關系
如:ALTERREPLICATION ABM_BAL_wh.biwholestore ALTER element abm1_abm2 EXCLUDEcache group ABM1_BAL1.WH_ACCT_BALANCE_C ALTER ELEMENT abm2_abm1EXCLUDE cache group ABM1_BAL1.WH_ACCT_BALANCE_C;
4、刪除異常緩存組
如:dropcache group ABM1_BAL1.WH_ACCT_BALANCE_C;
5、由于物理庫中對應表的object_id已經記錄在Timesten的日志文件中,重建緩存組不會改變object_id,delete操作仍會通過日志文件同步到oracle,所以在重建緩存組之前需要刷新物理庫中對應表的object_id(已踩坑,這點很關鍵)
6、啟動replicationagent
如:ttadmin-repstart ABM_BAL_WH
7、重建AWT緩存組
createasynchronous writethrough cache group ABM1_BAL1.WH_ACCT_BALANCE_C
fromABM1_BAL_WH.ACCT_BALANCE_T ……
8、從物理庫中重新載入數據到TT
如:loadcache group ABM1_BAL1.WH_ACCT_BALANCE_C_NEW commit every 2000 rowsparallel 8;
9、將新建的緩存組加入到復制關系中(加入前需停止復制代理,加入后需啟動復制代理)
如:callttrepstop;
ALTERREPLICATION ABM_BAL_WH.BIWHOLESTORE ALTER element abm1_abm2 includecache group WH_ACCT_BALANCE_C_NEW ALTER ELEMENT abm2_abm1 includecache group WH_ACCT_BALANCE_C_NEW;
callttrepstart;
10、驗證TT庫是否正常,并檢查TT日志是否正常
如:callttbookmark;
callttlogholds;
11、重啟相關應用并驗證是否正常
第二階段:重建備庫
因主備TT庫已存在數據差異,備庫數據已無用,應重建備庫
1、停應用,不停TT監聽,可能存在其他TT庫也在用同一個監聽
2、注釋crontab,避免重建過程中出現異常報錯
如:crontab-e
3、停復制代理和緩存代理
如:ttadmin-repstop ABM_BAL_WH
ttadmin-cachestop ABM_BAL_WH
5、從內存中卸載datastore
如:ttadmin-ramunload ABM_BAL_WH
6、刪除datastore
如:ttdestroy-force ABM_BAL_WH
7、重建備庫(應確保主庫復制代理已開啟)
如:nohupttrepadmin -duplicate -from ABM_BAL_WH -host bossabm2 -UID abm1_bal1-PWD oInc5d46 -setMasterRepStart -ramLoad -compression 0 -verbosity 2-keepCG -cacheUid abm1_bal1 -cachePwd oInc5d46 -localhost bossabm1-connStr "dsn=ABM_BAL_WH" &
8、修改內存策略為manual
如:ttadmin-query ABM_BAL_WH
ttadmin-rampolicy manual ABM_BAL_WH
9、啟動復制代理和緩存代理
如:ttadmin-repstart ABM_BAL_WH
ttadmin-cachestart ABM_BAL_WH
10、檢查主備庫是否正常,并檢查TT日志是否正常
如:callttbookmark;
callttlogholds;
11、檢查應用是否正常
1、需對在TT庫上的操作進行評審把控,特別是delete、drop、load、unload、refresh等操作應提前準備腳本待評審通過后再操作
2、研究針對在TT庫中操作語句的監控
3、針對核心表縮短監控的刷新時間間隔,有10分鐘縮短至5分鐘
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/130137.html
摘要:優雅的服務降級微服務架構最大的優點之一就是當組件出現故障時,能隔離這些故障并且能做到優雅地服務降級。 本文首先介紹微服務架構存在的風險,然后針對如何避免微服務架構的故障,提出了多種有效的微服務架構中的方法和技術,其中例如服務降級、變更管理、健康檢查和修復、斷路器、限流器等。 目錄 1、微服務架構的風險 2、優雅的服務降級 3、變更管理 4、健康檢查和負載均衡 5、自我修復 6、故障轉移...
摘要:優雅的服務降級微服務架構最大的優點之一就是當組件出現故障時,能隔離這些故障并且能做到優雅地服務降級。 本文首先介紹微服務架構存在的風險,然后針對如何避免微服務架構的故障,提出了多種有效的微服務架構中的方法和技術,其中例如服務降級、變更管理、健康檢查和修復、斷路器、限流器等。 目錄 1、微服務架構的風險 2、優雅的服務降級 3、變更管理 4、健康檢查和負載均衡 5、自我修復 6、故障轉移...
摘要:并根據調用方指定的負載均衡策略將被調節點信息返給調用方。并且被調方信息緩存負載均衡以及失效節點剔除都在中完成。 作者: 鐘科 showImg(https://segmentfault.com/img/remote/1460000014436075); 一.TSeer簡介 TSeer是一套服務注冊發現容錯的方案,是對Tars名字服務功能的輕量化。在騰訊瀏覽器、應用寶、管家、手機書城、騰訊...
摘要:最近參加了一次架構師的面試,吐槽一下整個面試時間相當的長,幾乎經歷了半年左右,但是我也是抱著學習偉大的云產品的態度所以在整個過程中學到不少的云產品的功能設計等知識,所以說還是相當有益處的。 最近參加了一次AWS 架構師的面試,吐槽一下整個面試時間相當的長,幾乎經歷了半年左右,但是我也是抱著學習偉大的AWS云產品的態度所以在整個過程中學到不少的云產品的功能、設計等知識,所以說還是相當有益...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20