作者為:? SHOUG成員 – ORACLE ACS高級(jí)顧問(wèn)羅敏 某日與Oracle同事一同在某移動(dòng)公司進(jìn)行技術(shù)交流,涵蓋12c、云技術(shù)、數(shù)據(jù)庫(kù)整合、容災(zāi)、OEM等多個(gè)專題領(lǐng)域。臨近中午時(shí)分,一直噴到了Oracle最適合于人工錯(cuò)誤恢復(fù)的FLASHBACK技術(shù)。正在唾沫四濺之際,突然接到
作者為:?
某日與Oracle同事一同在某移動(dòng)公司進(jìn)行技術(shù)交流,涵蓋12c、云技術(shù)、數(shù)據(jù)庫(kù)整合、容災(zāi)、OEM等多個(gè)專題領(lǐng)域。臨近中午時(shí)分,一直噴到了Oracle最適合于人工錯(cuò)誤恢復(fù)的FLASHBACK技術(shù)。正在唾沫四濺之際,突然接到客戶DBA電話:“羅工,能不能暫停一下技術(shù)交流,我們正好有三張表剛被人意外刪除了,能不能過(guò)來(lái)幫忙用你剛剛介紹的FLASHBACK技術(shù)把這三張表?yè)尵然貋?lái)?”
世界上怎么還有這么巧合的事情?已經(jīng)由不得我有半分遲疑,特別是任何私心雜念了。諸如:“羅工,這不正好讓你展現(xiàn)Oracle技術(shù)特點(diǎn),給你次露臉機(jī)會(huì)了?!薄!傲_工,你不挺能吹的嗎?看你能不能展示真才實(shí)學(xué)了”… …。于是,我端起筆記本電腦,直奔現(xiàn)場(chǎng),一邊下樓,一邊趕緊看FLASHBACK相關(guān)資料。俗話說(shuō):臨陣磨槍,不快也光。呵呵。
銷售同事也看出了情形的緊迫和老羅的“窘”態(tài),想盡一切可能在幫忙:幫我拆筆記本電源線,幫我提著礦泉水,更恨不得攙扶著正閱讀文檔,步履有點(diǎn)蹣跚的老羅同志一同下樓,哈哈!
待我趕到機(jī)器旁邊時(shí),資料也已經(jīng)看完了,心中也有底了。于是,在簡(jiǎn)單詢問(wèn)了問(wèn)題現(xiàn)象之后,趕腳讓第三方公司DBA輸入如下命令:
SELECT original_name, object_name,
type, ts_name, droptime, related, space
FROM user_recyclebin
WHERE can_undrop = ‘YES';
咦,怎么是空?再在sys用戶下輸入:
Select * from dba_recyclebin;
還是空!怎么回事?難道刪除這三張表的客戶不是意外操作,而是誠(chéng)心搞破壞,用了“drop table … purge”命令,或者清空了回收站(Recycle Bin),從而徹底刪除了這三張表?與客戶進(jìn)一步確認(rèn):這三張表的確是誤刪除的,沒(méi)有使用上述命令。
既然如此,為什么回收站沒(méi)有這三表表的數(shù)據(jù)呢?稍一思忖,想起來(lái)了!Oracle還有個(gè)初始化參數(shù)(RECYCLEBIN),可控制是否使用FLASHBACK DROP。一檢查,果然如此!原來(lái)DBA把RECYCLEBIN設(shè)置成OFF,從而關(guān)閉了FLASHBACK DROP功能。唉!遺憾啊,老羅同志失去了一次露臉的機(jī)會(huì),Oracle更失去一次展現(xiàn)技術(shù)特點(diǎn)的機(jī)會(huì)!
本來(lái)可以通過(guò)“flashback table
待一切恢復(fù)正常了,我還是詢問(wèn)DBA了:“為什么要關(guān)閉FLASHBACK DROP功能呢?”回答是:“你們Oracle Flashback太消耗資源了,影響性能,我們不敢打開?!?/p>
哦,原來(lái)如此。這也是本文的主題:從技術(shù)上言,F(xiàn)lashback不是單一技術(shù),而是一個(gè)技術(shù)家簇。以下就是各種Flashback技術(shù)的綜合對(duì)比:
Flashback技術(shù) | 主要目的 | 級(jí)別 | 配置方式 | 技術(shù)原理 | 恢復(fù)期限 | 適應(yīng)場(chǎng)景 |
Flashback Database | 快速恢復(fù)數(shù)據(jù)庫(kù) | 數(shù)據(jù)庫(kù)級(jí) | 基于存儲(chǔ)在Flashback Recovery Area中的 Flashback log | 取決于Flashback Recovery Area容量和db_flashback_retention_target參數(shù) |
|
|
Flashback Table | 整表恢復(fù)到指定時(shí)間 | 表級(jí) | 缺省 | 基于Undo技術(shù) | 取決于UNDO表空間大小,UNDO_retention參數(shù) |
|
Flashback Query/ DBMS_FLASHBACK包 | 查詢過(guò)去時(shí)間點(diǎn)的記錄 | 記錄級(jí) | 缺省 | 基于Undo技術(shù) | 取決于UNDO表空間大小,UNDO_retention參數(shù) |
|
Flashback Drop | 快速恢復(fù)Drop Table操作 | 表級(jí) | 缺省 | Recyclebin(該表所在的表空間) | 自動(dòng)管理(FIFO算法)。由表空間的空閑空間確定 |
|
Flashback Versions Query | 訪問(wèn)事務(wù)歷史情況 | 記錄級(jí) | 缺省 | 基于Undo技術(shù) | 取決于UNDO表空間大小,UNDO_retention參數(shù) |
|
Flashback Transaction Query | 查詢UNDO語(yǔ)句 | 記錄級(jí) | 缺省 | 基于Undo技術(shù) | 取決于UNDO表空間大小,UNDO_retention參數(shù) |
|
11g Total-Recall(Flashback Data Archive) | 歷史數(shù)據(jù)存儲(chǔ)和利用 | 表級(jí) | 需要配置 | 基于FDA區(qū)域 | 取決于FDA區(qū)域表空間大小 |
|
各位看見了嗎?上述表格中每種Flashback技術(shù)原理、目的、是否是缺省配置、適應(yīng)場(chǎng)景等都是不一樣的。沒(méi)錯(cuò),某些Flashback技術(shù),特別是Flashback Database是需要進(jìn)行專門配置的,例如創(chuàng)建Flashback Recovery Area,還會(huì)產(chǎn)生大量Flashback log,也的確對(duì)性能有一定影響的。但是,很多Flashback技術(shù)一方面是缺省配置的,另一方面是基于Undo技術(shù)的,并不額外產(chǎn)生資源開銷的,對(duì)性能的影響也非常有限。例如Flashback Drop技術(shù)僅僅在刪除表時(shí)才會(huì)有一定操作,難道我們的系統(tǒng)成天都有Drop Table操作?大家沒(méi)事天天刪表玩兒?不可能吧,呵呵。
唉,這就是國(guó)內(nèi)IT行業(yè)的常態(tài)之一:不分青紅皂白;技術(shù)運(yùn)用簡(jiǎn)單化;動(dòng)輒一刀切;缺乏對(duì)相關(guān)技術(shù)的深入研究;什么新特性都不敢用;想當(dāng)然地自己嚇自己……
我們時(shí)候才能真正做到嚴(yán)謹(jǐn)、科學(xué)、務(wù)實(shí)、專業(yè)、積極、進(jìn)取,充分評(píng)估、大膽運(yùn)用各種IT新技術(shù)、新特性???
唉…………………
Related posts:
原文地址:Oracle Acs資深顧問(wèn)羅敏 老羅技術(shù)核心感悟:失去了一次露臉機(jī)會(huì), 感謝原作者分享。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com