使用RMAN對資料庫進行異機還原
系統環境:
作業系統:Window2000 +
Oracle版本: 9.0.1.1.1
RMAN恢復目錄的機器:catalog
已損壞的資料庫主機為:old_host
要還原到的資料庫主機為:new_host
使用RMAN對已損壞資料庫進行異機還原的前提條件:
1、 old_host上的資料庫已使用RMAN進行了備份
2、 old_host上的資料庫的PFILE或SPFILE已做了備份
3、 catalog上的恢復目錄完好,並且可用,如果不可用,先恢復恢復目錄資料庫
4、 備份伺服器上的備份資料完好,並且可用
5、 確保new_host機器上裝有的Oracle版本與old_host機器上的一致
6、 在new_host上建立dba組和與old_host相同的Oracle使用者。將\data的可寫許可權給Oracle使用者。確定new_host上有足夠的硬碟空間存放新的datafile及archive log file
7、 修改.profile檔案中相關的Oracle環境變數,ORACLE_SID保持與old_host中一致
8、還原前需收集的資訊
Oracle資料庫SID , DBID.
Oracle資料庫線上日誌檔案全路徑
Oraexp 路徑
rman使用者 和rman 使用者的表空間 (以匯入方式恢復恢復目錄時要用)
源資料庫的引數檔案pfile檔案
RMAN異機還原的步驟:
1、 在new_host上安裝Oracle備份代理,將從old_host備份到伺服器上的資料庫備份,手工還原到new_host上(oraexp的路徑一定要一樣)。
2、 建立相關的目錄。通常所需建立的目錄為background_dump_dest、core_dump_dest、user_dump_dest、log_archive_dest。
參考指令碼: createdirectory.txt
3、 建立引數檔案pfile,要和源資料庫一致
將old_host中$ORACLE_HOME\dbs下的initSID.ora檔案拷至new_host的$ORACLE_HOME\dbs下。如果initSID.ora中有ifile='xxx.ora',則將xxx.ora也進行複製。Oracle9也可能用spinitSID.ora。
4、 建立密碼檔案pwdsid.ora
使用orapwd.exe命令,建立口令檔案pwdSID.ora,命令格式如下:
orapwd.exe file=e:\oracle\ora90\database\pwdSID.ora password=change_on_install entries=5
參考指令碼: createpwdfile.txt
5、 建立windows服務
透過oradim.exe命令,在服務裡生成一個新的例項管理服務,啟動方式為手工:
set ORACLE_SID=SID
e:\oracle\ora90\bin\oradim -new -sid SID -startmode m –pfile e:\oracle\ora90\database\initSID.ora
參考指令碼: createservice.txt
6、 配置listener 和 tns
new_host上為Oracle要還原資料庫SID和RMAN資料配置出TNS和Listener,
tns檔案為:e:\Oracle\Ora90\network\ADMIN\ tnsnames.ora
listener 檔案e:\Oracle\Ora90\network\ADMIN\ listener.ora
7、 從前面建立的pfile裡建立spfile.
在Windows命令列中輸入:
set ORACLE_SID=SID
sqlplus /nolog
connect sys/change_on_install
create spfile from pfile=’ e:\oracle\ora90\database\initwar.ora’;
startup nomount;
exit
8、 執行恢復指令碼, 恢復控制檔案和資料檔案:(其中的一些資料可從恢復目錄中查到)
> rman
> catalog 使用者名稱/密碼@rman
> set dbid 21132232(原目標資料庫的dbid);
> target 使用者名稱/密碼@SID
> listbackup (應該可以列出備份集的資訊)
run {
shutdown immediate;
startup nomount;
restore controlfile;
}
Run {
set newname for datafile 1 to ‘資料檔案1的新路徑’;
set newname for datafile 2 to ‘資料檔案2的新路徑’;
set newname for datafile 3 to ‘資料檔案3的新路徑’;
…
Startup mount;
restore database;
switch datafile all;
recover database; (可能有錯誤資訊,因為online 日誌還沒設定)
}
alter tablespace temp add tempfile '/u01/oradata/orcl/temp01.dbf' size 20971520 reuse autoextend on nest 65560 maxsize 32767m; 重建臨時表空間
如果恢復到與原機相同的位置,不需要set newname和switch datafile
10、重置線上日誌,啟動資料庫.
sqlplus /nolog
connect sys/change_on_install@SID as sysdba;
alter database rename file ‘舊的redolog1檔案路徑’ to ‘新的redolog1檔案路徑’;
…
alter database open resetlogs;
(如果恢復到與原機相同的位置,不需要更改redolog檔案路徑在更改redolog檔案路徑時可能舊的redolog檔案路徑必須存在)
LINUX/UNIX 平臺異機還原基本和Window 一致,只是不需要步驟5。
總體思路同樣是:
1. 配環境變數,建相關目錄等,
2. 配listener和tns, 這樣sqlplus /nolog connect / as sysdba. 就可以連線該服務了。
3. 生成pfile 檔案,就可以 startup nomount 一個例項
4. 在nomount 狀態下,還原控制檔案,然後就可以mount 資料庫了。
5. 在mount狀態下, 還原資料檔案,恢復資料庫如果聯機日誌不存在,需要步驟6
6. 生成新的聯機日誌,然後開啟資料庫並重置日誌.alter database open resetlogs.
轉載
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-738402/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用RMAN還原和恢復資料庫資料庫
- 使用mysqldump進行mysql資料庫備份還原MySql資料庫
- 使用RMAN遷移資料庫到異機資料庫
- RMAN資料庫還原測試資料庫
- 使用RMAN進行資料庫複製資料庫
- postgresql 使用pg_rman恢復還原資料庫SQL資料庫
- RMAN 異機複製資料庫資料庫
- 使用RMAN進行Oracle資料庫遷移Oracle資料庫
- 使用RMAN進行快速Dataguard資料庫建立資料庫
- 利用binlog進行資料庫的還原資料庫
- 使用RMAN還原資料庫到某個時間點資料庫
- 用RMAN還原並恢復資料庫——RMAN使用者手冊資料庫
- oracle rman 異機還原測試--set newnameOracle
- 【RMAN】利用備份片還原資料庫資料庫
- 如何利用Rman對Oracle資料庫進行備份Oracle資料庫
- 使用RMAN在還原控制檔案後開啟資料庫資料庫
- 利用可靠還原點進行資料庫閃回資料庫
- 【RMAN】利用備份片還原資料庫(上)資料庫
- 【RMAN】利用備份片還原資料庫(中)資料庫
- 【RMAN】利用備份片還原資料庫(下)資料庫
- DM7使用DMRMAN對資料庫執行指定對映檔案還原資料庫
- 實際使用Elasticdump工具對Elasticsearch叢集進行資料備份和資料還原Elasticsearch
- 使用RMAN對PDB執行閃回資料庫操作資料庫
- 使用RMAN對CDB執行閃回資料庫操作資料庫
- 使用RMAN進行同名資料庫異地環境搭建實驗資料庫
- 使用RMAN進行資料遷移
- 【RMAN】利用備份片還原資料庫(中)-附加資料庫
- OS和資料庫版本不同對RMAN備份還原的影響資料庫
- 【RMAN】使用RMAN duplicate複製同機資料庫資料庫
- Sqlserver資料庫使用 .bak 檔案還原資料庫SQLServer資料庫
- 還原資料庫資料庫
- 資料庫還原資料庫
- 使用RMAN Duplicate方法搭建異名資料庫實驗資料庫
- 還是Oracle的資料庫破壞試驗,RMAN針對不同檔案的丟失進行恢復Oracle資料庫
- RAC資料庫的RMAN備份異機恢復到單節點資料庫資料庫
- DM7使用DMRMAN執行資料庫還原和恢復資料庫
- 資料庫resetlogs後進行rman恢復7資料庫
- 資料庫resetlogs後進行rman恢復6資料庫