English

鼎甲技術應用:Oracle日志(zhì)分(fēn)析之 事務級精準撤銷

鼎甲作爲國内首家成功通過 Oracle BSP(Backup Solutions Program)的官方授權的災備産品供應商(shāng),産品DBackup 在針對 Oracle 數據庫災備上,表現出獨特的優勢:利用 Oracle 日志(zhì)解析的功能,不僅僅隻是實現了事務級精準恢複,還可以實現事務級精準撤銷。

一(yī)、事務撤銷的常規操作

對于數據庫運維人員(yuán)來說,會常遇到這樣的報障:“我(wǒ)錄入系統時,不小(xiǎo)心把***數據給寫錯了,請幫我(wǒ)修改一(yī)下(xià),或者删除後我(wǒ)再重新錄入。”運維人員(yuán)在得到确認修改許可後,如果隻是獨立的一(yī)個數據值修改,往往隻是通過SQL語句的update來更新數據。但如果是有關聯性的數據,直接數據修改是不可行的,容易導緻對數據的二次傷害,所以需要通過“事務撤銷處理”的方式來還原數據,常規撤銷的處理步驟:

  1. 首先,需要和數據錄入人員(yuán)确定誤操作的時間範圍;

  2. 接着,調用LogMiner工(gōng)具進行數據分(fēn)析。使用過LogMiner的都清除,這是一(yī)個純指令操作的工(gōng)具,要尋找到誤操作的事務或SCN,需要執行以下(xià)常規操作步驟:

    • 進入數據庫,将數據庫當前數據字典分(fēn)析出來,生(shēng)成數據字典文件;

    • 将需要分(fēn)析的歸檔文件添加到分(fēn)析列表,如果要分(fēn)析多個日志(zhì)文件就添加多個;

    • 查看當前分(fēn)析列表;

    • 以時間段爲基準進行分(fēn)析;

    • 查詢分(fēn)析結果。

  3. 最後,通過日志(zhì)的分(fēn)析後,确定誤操作的事務,執行UNDO操作。

這是一(yī)個繁瑣和複雜(zá)的處理過程,需要有一(yī)定經驗的DBA才能處理,不适用于大(dà)多數系統維護人員(yuán)。所以當發生(shēng)誤操作時,往往需要求助于原廠服務或者尋找有經驗的DBA處理,無論哪種方式價格都不菲。而最關鍵是由于需要協調人員(yuán),誤操作處理無法做到及時和快速的處理。

二、鼎甲簡易的事務撤銷操作

現在,您可以借助于鼎甲災備産品對Oracle數據庫日志(zhì)文件的解析功能,直觀查看每個事務的SCN信息,并進行事務的撤銷處理。

DBackup做爲鼎甲災備産品的核心一(yī)員(yuán),我(wǒ)們來看看在對事務撤銷處理上是如何實現和操作的。

 1.   事務撤銷



1) 日志(zhì)備份。DBackup是備份容災系統,所有還原和恢複的數據,都依賴于備份作業所獲取的備份集數據。所以,要支持事務的撤銷處理,首先得配有日志(zhì)的備份作業,獲取到Oracle的日志(zhì)文件,包括:重做日志(zhì)(Redo log)、歸檔日志(zhì)(Archive log)。

2) 日志(zhì)分(fēn)析。基于日志(zhì)備份集,用戶隻需确定需要進行日志(zhì)分(fēn)析的時間段,DBackup将自動提取該時間段的數據進行分(fēn)析,并以列表方式直觀展現。

3) 選擇事務撤銷。依據分(fēn)析出來的日志(zhì)信息,選擇一(yī)個或多個事務,創建撤銷作業,針對生(shēng)産環境中(zhōng)的在線數據庫進行數據UNDO處理,可以定點撤銷某些已經提交的事務,把數據還原正确。

 2.   操作簡易

基于已有的日志(zhì)備份集數據,隻需簡易幾步即可完成撤銷操作。

1) 選擇需要日志(zhì)分(fēn)析的時間段。用戶隻需在管理界面上的時間控件中(zhōng)選擇起始和終止的時間點。(彩蛋:如果需要選擇的時間不在已有備份集範圍,也是可以的。)

2) 深度查看分(fēn)析結果。點擊事務信息,即可查看每個事務所關聯的SCN,了解SCN所執行的内容。

3)配置撤銷作業。以事務爲基數,選擇需要撤銷的事務,DBackup自動讀取出需要撤銷的事務提交ID,并創建作業立即執行。

4) 撤銷事務審計。直接在Oracle的執行UNDO操作,雖然數據庫日志(zhì)中(zhōng)會記錄操作的審計信息,但如果要查看,還得進行複雜(zá)的日志(zhì)分(fēn)析處理。但在DBackup中(zhōng),當用戶進行了事務級撤銷操作,系統将會自動把該行爲記錄到系統日志(zhì)中(zhōng),提供審計管理。

三、結束語

把複雜(zá)的事務處理實現簡單化,這是一(yī)個優秀産品的行業水準。在Oracle事務撤銷處理的業務實現上,鼎甲災備産品把“繁瑣複雜(zá)”變成了“簡單易用”,使得數據庫的日常運維工(gōng)作更加容易,讓更多非專業DBA的運維人員(yuán)受用,企業也會因此而降低運維成本,提高運維效率,同時還可以更有效地審計運維人員(yuán)對數據庫的操作。

鼎甲科技一(yī)直走在引領行業技術發展的道路上。

聯系我(wǒ)們