Oracle 10g恢復(fù)試驗地兩種方法
今天看了Oracle 10g的閃回數(shù)據(jù)庫特性,書上說不能完成刪除一個表空間并用resetlogs恢復(fù),其實這也就是說如果改變了數(shù)據(jù)庫的結(jié)構(gòu),是不能閃回的,只能閃回邏輯修改,但我還是做了一個實驗。
我刪除了一個表空間,再用數(shù)據(jù)庫閃回,發(fā)現(xiàn)不能打開數(shù)據(jù)庫,打開數(shù)據(jù)庫的時候提示datafile 7這個文件offline,如果resetlogs就會丟失這個文件,于是我就用RMAN進行恢復(fù),也就是要恢復(fù)到一個以前的時間,用的是UNTIL TIME這個語法,但在RESTORE就出錯了,告訴不能恢復(fù)控制文件,在那個時間點確實沒有備份控制文件,但數(shù)據(jù)文件已經(jīng)全部恢復(fù)了,其實就是控制文件所記錄的SCN與數(shù)據(jù)文件的SCN不一致,數(shù)據(jù)庫不能打開,也就是控制文件比數(shù)據(jù)文件新,我想到兩個辦法,一個是重建控制文件,用resetlogs選項,一個是再往前面恢復(fù),恢復(fù)一個在這之前的控制文件,我RMAN的controlfile autoback為on,控制文件都有備份。我采取了第二種辦法。 第一種,重建控制文件用resetlogs選項,新的控制文件的SCN是從數(shù)據(jù)文件中讀取,再recover database until cancel 。 第二種辦法還是一個跨resetlogs時間點恢復(fù),因為昨天我做實驗曾今用resetlogs打開過數(shù)據(jù)庫,所以,我在恢復(fù)控制文件后,還RESET DATABASE to incarnation n,進行對應(yīng)物的轉(zhuǎn)換,不然RMAN會報
最后,進行recover database 后,數(shù)據(jù)成功恢復(fù) 記錄下過程,以后好參考 我還是該把中間結(jié)果保存下來。 哦,還有,RMAN的controlfile autoback不僅在備份的時候會自動備份控制文件,而且在數(shù)據(jù)庫結(jié)構(gòu)改變時也會自動備份,這是有 SERVER PROCESS完成,具體看
|
|