鼎甲技術(shù)應(yīng)用:Oracle日志分析 之事務(wù)級精準(zhǔn)恢復(fù)
發(fā)布人:Marketing 發(fā)布日期:2018-08-07 15:52:58 點(diǎn)擊數(shù):7052
一、挖出需要解決的問題
專業(yè)數(shù)據(jù)災(zāi)備軟件中,對Oracle數(shù)據(jù)庫的恢復(fù),都需要以時間為基準(zhǔn)來選擇數(shù)據(jù)恢復(fù)點(diǎn),用戶希望數(shù)據(jù)能恢復(fù)到自己指定的時間上,更高級的用戶則要求恢復(fù)到指定SCN。所以,目前在對Oracle數(shù)據(jù)備份后提供的恢復(fù)點(diǎn)有以下幾種:
-
恢復(fù)到數(shù)據(jù)備份的時間點(diǎn)。
-
恢復(fù)到用戶指定時間點(diǎn)。
-
恢復(fù)到用戶指定的SCN(System Change Number)等。
恢復(fù)到數(shù)據(jù)備份的時間點(diǎn),這是最為基本的恢復(fù)點(diǎn)定位,要想在時間維度上提升恢復(fù)精準(zhǔn)度,則是支持恢復(fù)到用戶的指定時間點(diǎn),再進(jìn)一步的精準(zhǔn)恢復(fù)就是指定SCN了。
但在實(shí)際生產(chǎn)環(huán)境所需的災(zāi)備場景中,提供的這些恢復(fù)精準(zhǔn)度是不是真正達(dá)到用戶期望值?讓我們來分析以下場景:
-
指定時間點(diǎn)恢復(fù)。時間點(diǎn)是以秒為單位,也就是說可以選擇恢復(fù)到備份數(shù)據(jù)中的任意一秒上,恢復(fù)數(shù)據(jù)中包括了指定這一秒的事務(wù),如果數(shù)據(jù)庫事務(wù)請求密度不大,大于或等于1秒才有一個事務(wù)處理時,那么以秒為單位的恢復(fù),的確已經(jīng)做到精準(zhǔn)恢復(fù)。但實(shí)際生產(chǎn)環(huán)境中,往往是1秒鐘有成千上萬,乃至百萬個數(shù)據(jù)事務(wù)并發(fā)請求,或者會出現(xiàn)1個事務(wù)在多秒中處理完成。那么,采用恢復(fù)到某一秒時間,恢復(fù)后的數(shù)據(jù)不夠精準(zhǔn)。
-
指定SCN恢復(fù)。SCN作為Oracle數(shù)據(jù)庫中很重要的基礎(chǔ)內(nèi)容,是系統(tǒng)中維持?jǐn)?shù)據(jù)的一致性和順序恢復(fù)的重要標(biāo)志,每個事務(wù)的每個操作都有一個唯一的SCN,要想數(shù)據(jù)恢復(fù)精準(zhǔn),就需要選擇正確的SCN,但往往多數(shù)災(zāi)備系統(tǒng)中只提供了SCN號,沒有提供SCN中關(guān)聯(lián)的操作內(nèi)容。要選擇準(zhǔn)確的SCN,經(jīng)驗豐富的DBA可以在數(shù)據(jù)庫中執(zhí)行指令來分析Oracle日志,從而得到恢復(fù)所需指定的SCN,但對于普通的維護(hù)人員,這卻是比較難的操作。所以,如果要選擇SCN做精準(zhǔn)數(shù)據(jù)恢復(fù),必須要具備專業(yè)的DBA知識,因此不利于通過指定SCN來恢復(fù)數(shù)據(jù)的普及使用。
通過以上場景分析,我們得知并未達(dá)到客戶的預(yù)期值。所以,要想精準(zhǔn)地恢復(fù)Oracle數(shù)據(jù),最好的途徑就是要選擇正確的SCN,那么就要求能簡易并清晰地了解每個SCN中的具體操作內(nèi)容。但SCN信息在二進(jìn)制日志文件中,直接解讀的可能性幾乎為零。這也就是提升恢復(fù)精準(zhǔn)度的難點(diǎn)所在了。
二、鼎甲災(zāi)備產(chǎn)品推出日志解析
鼎甲的災(zāi)備產(chǎn)品在新一輪的產(chǎn)品提升中,正確解讀出了Oracle數(shù)據(jù)庫的日志文件,并在系統(tǒng)中提供直觀展現(xiàn)。我們看看在鼎甲DBackup中,是如何解讀和使用這些日志數(shù)據(jù)的。
-
直觀展現(xiàn)日志信息
鼎甲DBackup中采用列表方式直觀展現(xiàn)日志文件的內(nèi)容,即使是對于一個Oracle DBA高手來說,在進(jìn)行數(shù)據(jù)恢復(fù)處理時也能提供有效的幫助。
-
完整解析事務(wù)日志
要明了執(zhí)行的事務(wù),就需要完整解析出事務(wù)執(zhí)行的內(nèi)容,包括:誰做了操作,做了什么操作,關(guān)系到哪些表,具體SQL語句是什么,關(guān)聯(lián)的SCN是什么,需要恢復(fù)到哪個SCN之前。只有完整地解析出這些信息,才能準(zhǔn)確定位恢復(fù)的SCN。
鼎甲DBackup針對Oracle的重做日志和歸檔日志進(jìn)行解析,獲取出執(zhí)行用戶、操作類型、涉及表、執(zhí)行SQL、SCN等信息,讓用戶完整了解事務(wù)執(zhí)行內(nèi)容。
-
任意選擇時間段
無需任何腳本指令的操作,只需在鼎甲DBackup界面上選擇時間范圍,系統(tǒng)將根據(jù)用戶選定的時間段來自動提取日志數(shù)據(jù)分析,操作簡單便利。
這非常適合于多數(shù)生產(chǎn)維護(hù)場景中,因為維護(hù)人員往往只是知道某時間段做了某些事情,更希望能從指定時間段來縮小范圍,快速查找正確的SCN。
三、解決問題
-
不難看出,鼎甲災(zāi)備產(chǎn)品的這次提升,又把Oracle數(shù)據(jù)庫的恢復(fù)精準(zhǔn)度向前推進(jìn)了一大步,完美解決了文章開篇時描述的問題。
-
在系統(tǒng)的界面上,點(diǎn)擊幾下鼠標(biāo),就可以把二進(jìn)制日志文件簡單易懂的呈現(xiàn)在您面前。
-
不用再為選擇哪個SCN點(diǎn)恢復(fù)而頭痛了,因為您可以清楚地了解每個事務(wù)執(zhí)行了哪些操作,每個操作對應(yīng)的SCN是什么。
-
同時,在審計上也起到顯著作用,當(dāng)數(shù)據(jù)庫發(fā)生邏輯錯誤時,可以審計出是什么用戶在什么時間造成的。
鼎甲科技一直走在引領(lǐng)行業(yè)技術(shù)發(fā)展的道路上。