English

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

一(yī)、挖出需要解決的問題


專業數據災備軟件中(zhōng),對Oracle數據庫的恢複,都需要以時間爲基準來選擇數據恢複點,用戶希望數據能恢複到自己指定的時間上,更高級的用戶則要求恢複到指定SCN。所以,目前在對Oracle數據備份後提供的恢複點有以下(xià)幾種:


  • 恢複到數據備份的時間點。

  • 恢複到用戶指定時間點。

  • 恢複到用戶指定的SCN(System Change Number)等。


恢複到數據備份的時間點,這是最爲基本的恢複點定位,要想在時間維度上提升恢複精準度,則是支持恢複到用戶的指定時間點,再進一(yī)步的精準恢複就是指定SCN了。


但在實際生(shēng)産環境所需的災備場景中(zhōng),提供的這些恢複精準度是不是真正達到用戶期望值?讓我(wǒ)們來分(fēn)析以下(xià)場景:


  • 指定時間點恢複。時間點是以秒爲單位,也就是說可以選擇恢複到備份數據中(zhōng)的任意一(yī)秒上,恢複數據中(zhōng)包括了指定這一(yī)秒的事務,如果數據庫事務請求密度不大(dà),大(dà)于或等于1秒才有一(yī)個事務處理時,那麽以秒爲單位的恢複,的确已經做到精準恢複。但實際生(shēng)産環境中(zhōng),往往是1秒鍾有成千上萬,乃至百萬個數據事務并發請求,或者會出現1個事務在多秒中(zhōng)處理完成。那麽,采用恢複到某一(yī)秒時間,恢複後的數據不夠精準。

  • 指定SCN恢複。SCN作爲Oracle數據庫中(zhōng)很重要的基礎内容,是系統中(zhōng)維持數據的一(yī)緻性和順序恢複的重要标志(zhì),每個事務的每個操作都有一(yī)個唯一(yī)的SCN,要想數據恢複精準,就需要選擇正确的SCN,但往往多數災備系統中(zhōng)隻提供了SCN号,沒有提供SCN中(zhōng)關聯的操作内容。要選擇準确的SCN,經驗豐富的DBA可以在數據庫中(zhōng)執行指令來分(fēn)析Oracle日志(zhì),從而得到恢複所需指定的SCN,但對于普通的維護人員(yuán),這卻是比較難的操作。所以,如果要選擇SCN做精準數據恢複,必須要具備專業的DBA知(zhī)識,因此不利于通過指定SCN來恢複數據的普及使用。

通過以上場景分(fēn)析,我(wǒ)們得知(zhī)并未達到客戶的預期值。所以,要想精準地恢複Oracle數據,最好的途徑就是要選擇正确的SCN,那麽就要求能簡易并清晰地了解每個SCN中(zhōng)的具體(tǐ)操作内容。但SCN信息在二進制日志(zhì)文件中(zhōng),直接解讀的可能性幾乎爲零。這也就是提升恢複精準度的難點所在了。

二、鼎甲災備産品推出日志(zhì)解析


鼎甲的災備産品在新一(yī)輪的産品提升中(zhōng),正确解讀出了Oracle數據庫的日志(zhì)文件,并在系統中(zhōng)提供直觀展現。我(wǒ)們看看在鼎甲DBackup中(zhōng),是如何解讀和使用這些日志(zhì)數據的。


  • 直觀展現日志(zhì)信息


鼎甲DBackup中(zhōng)采用列表方式直觀展現日志(zhì)文件的内容,即使是對于一(yī)個Oracle DBA高手來說,在進行數據恢複處理時也能提供有效的幫助。


                           

  • 完整解析事務日志(zhì)


要明了執行的事務,就需要完整解析出事務執行的内容,包括:誰做了操作,做了什麽操作,關系到哪些表,具體(tǐ)SQL語句是什麽,關聯的SCN是什麽,需要恢複到哪個SCN之前。隻有完整地解析出這些信息,才能準确定位恢複的SCN。


鼎甲DBackup針對Oracle的重做日志(zhì)和歸檔日志(zhì)進行解析,獲取出執行用戶、操作類型、涉及表、執行SQL、SCN等信息,讓用戶完整了解事務執行内容。



  • 任意選擇時間段


無需任何腳本指令的操作,隻需在鼎甲DBackup界面上選擇時間範圍,系統将根據用戶選定的時間段來自動提取日志(zhì)數據分(fēn)析,操作簡單便利。


這非常适合于多數生(shēng)産維護場景中(zhōng),因爲維護人員(yuán)往往隻是知(zhī)道某時間段做了某些事情,更希望能從指定時間段來縮小(xiǎo)範圍,快速查找正确的SCN。


三、解決問題


  • 不難看出,鼎甲災備産品的這次提升,又(yòu)把Oracle數據庫的恢複精準度向前推進了一(yī)大(dà)步,完美解決了文章開(kāi)篇時描述的問題。

  • 在系統的界面上,點擊幾下(xià)鼠标,就可以把二進制日志(zhì)文件簡單易懂的呈現在您面前。

  • 不用再爲選擇哪個SCN點恢複而頭痛了,因爲您可以清楚地了解每個事務執行了哪些操作,每個操作對應的SCN是什麽。

  • 同時,在審計上也起到顯著作用,當數據庫發生(shēng)邏輯錯誤時,可以審計出是什麽用戶在什麽時間造成的。

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

聯系我(wǒ)們