NBU異構還原Oracle完整備份的一些總結
準備
異構Ortacle服務器
添加相關服務器的Hosts記錄。
安裝NBU client agent。
安裝相同的Oracle軟件版本。
創建相同的管理員賬號及密碼。
創建與源Oracle相同名稱,相同路徑的oracle實例。
關閉數據庫(shutdown immedicate)。
刪除數據庫文件夾下的所有文件。
獲取源Oracle的DBID 並記錄(源Oracle運行SQL命令:Selectdbid from v$database;)。
NBU服務器
添加相關服務器的Hosts記錄。
NBU安裝目錄XXX/db/altnames文件夾下面創建文件名為No.Restrictions的空文件(用於允許NBU做異構還原)。
查找需要還原的控制文件並記錄控制文件名稱(bplist -C 源Oracle客戶端 -l -t 4 -s 6/13/2011 -e6/14/2011-R /)。
開始恢復
恢復控制文件
數據庫起到nomout狀態(startupnomount)。
登錄rman運行:
set dbid=源oracle的DBID
run{
ALLOCATE CHANNEL CH00 TYPE‘SBT_TAPE‘;
SEND ‘NB_ORA_SERV=NBU服務器名稱,NB_ORA_CLIENT=源Oracle服務器client名稱‘;
restore controlfile from ‘控制文件名稱‘;
}
恢復數據庫文件
數據庫起到mount狀態(startupmount)。
登錄rman運行
run {
ALLOCATE CHANNEL CH00 TYPE ‘SBT_TAPE‘;
SEND ‘NB_ORA_SERV= NBU服務器名稱, NB_ORA_CLIENT=H源Oracle服務器client名稱‘‘;
restore database;
}
恢復歸檔日誌(如只需要恢復玩完整備份,可不做)
登錄rman運行
run {
ALLOCATE CHANNEL CH02 TYPE‘SBT_TAPE‘;
SEND ‘NB_ORA_SERV= NBU服務器名稱, NB_ORA_CLIENT=H源Oracle服務器client名稱‘‘;
ESTORE ARCHIVELOG FROMSEQUENCE 序號
RELEASE CHANNEL CH02;
}
登錄SQL運行
recover database untilcancel
啟動數據庫
登錄SQL運行
alter database openresetlogs;
NBU異構還原Oracle完整備份的一些總結