使用DMS數(shù)據(jù)追蹤進(jìn)行恢復(fù)
DMS的數(shù)據(jù)追蹤功能可以快速按需找到目標(biāo)時(shí)間段內(nèi)的相關(guān)更新,并生成逆向回滾語句,追蹤完的數(shù)據(jù)可批量生成回滾腳本,通過數(shù)據(jù)變更工單最終執(zhí)行到數(shù)據(jù)庫(kù)中完成數(shù)據(jù)的修復(fù)。當(dāng)誤操作受影響的數(shù)據(jù)量在10萬以內(nèi)時(shí),您可使用該方法進(jìn)行數(shù)據(jù)恢復(fù)。
前提條件
已為集群開啟Binlog。詳細(xì)操作步驟,請(qǐng)參見開啟Binlog。
若在DMS中,該集群的管控模式為自由操作與穩(wěn)定變更,請(qǐng)先通過DMS登錄目標(biāo)集群。
步驟一、查找需回滾記錄,生成回滾腳本
首先,您需要在DMS控制臺(tái)提交數(shù)據(jù)追蹤工單申請(qǐng),審批通過后,根據(jù)解析出的日志,選擇需要回滾的變更記錄,并生成回滾腳本。
在頁(yè)面頂部,選擇 。
在頁(yè)面右上角,單擊+數(shù)據(jù)追蹤。
在數(shù)據(jù)追蹤工單申請(qǐng)頁(yè)面,根據(jù)下表填寫工單申請(qǐng)。
參數(shù)名
說明
任務(wù)名稱
便于后續(xù)檢索,并提供給審批人員清晰的操作意圖。
庫(kù)名
誤操作對(duì)象的數(shù)據(jù)庫(kù)名。
表名
誤操作對(duì)象的表名。
追蹤類型
支持多選,可按需勾選檢索的操作。
時(shí)間范圍
默認(rèn)為當(dāng)前時(shí)間往前2小時(shí)。單次工單最長(zhǎng)追蹤時(shí)長(zhǎng)跨度為6小時(shí),若超過則可分段建多個(gè)工單處理。最長(zhǎng)可追蹤時(shí)間點(diǎn)為目標(biāo)數(shù)據(jù)庫(kù)服務(wù)器上Binlog文件當(dāng)前存儲(chǔ)的最早時(shí)間。
單擊提交申請(qǐng),系統(tǒng)將獲取日志文件。
獲取日志文件后,系統(tǒng)會(huì)進(jìn)入審批環(huán)節(jié)。
說明若Binlog未開啟或數(shù)據(jù)庫(kù)未登錄,系統(tǒng)將無法獲取日志文件。
等待審批通過。
說明數(shù)據(jù)追蹤的默認(rèn)安全審批規(guī)則為:數(shù)據(jù)庫(kù)對(duì)應(yīng)的DBA進(jìn)行審批。
審批通過后,系統(tǒng)會(huì)進(jìn)行日志下載、日志解析等操作。
待解析完成后,您可以勾選需要回滾的變更記錄,單擊導(dǎo)出回滾腳本即可。
步驟二、執(zhí)行回滾
導(dǎo)出回滾腳本后,您可以提交普通數(shù)據(jù)變更工單,將此回滾腳本作為附件上傳至工單中,執(zhí)行至目標(biāo)數(shù)據(jù)庫(kù)中。
在DMS控制臺(tái)頁(yè)面頂部,選擇 。
可參考下表填寫數(shù)據(jù)變更工單申請(qǐng),并單擊提交申請(qǐng)。
表 1. 數(shù)據(jù)變更參數(shù)說明
參數(shù)名
說明
數(shù)據(jù)庫(kù)
要恢復(fù)的數(shù)據(jù)庫(kù)名稱。
影響行數(shù)
預(yù)估本次更新會(huì)影響的數(shù)據(jù)行數(shù),可在SQLConsole以
count
統(tǒng)計(jì)。變更SQL
選擇附件,并將步驟一中生成的腳本上傳至附件。
工單提交后,系統(tǒng)會(huì)進(jìn)行內(nèi)容合法性檢查。
當(dāng)檢查通過后,需要您提交審批,審批通過后,就會(huì)生成執(zhí)行任務(wù)。
說明數(shù)據(jù)變更的默認(rèn)安全審批規(guī)則為:數(shù)據(jù)庫(kù)對(duì)應(yīng)的DBA進(jìn)行審批。
單擊執(zhí)行變更。