共計 4322 個字符,預計需要花費 11 分鐘才能閱讀完成。
本篇文章給大家分享的是有關 RAC 怎么進行從帶庫到單實例的恢復,丸趣 TV 小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著丸趣 TV 小編一起來看看吧。
備份軟件:HP-DP
原庫:生產 RAC 2 節點,IP:192.168.160.2 和 192.168.160.3
目標庫:單實例庫,IP:192.168.160.129
0. 準備環境
配置好目標服務器的監聽,讓備份服務器可以鏈接到目標服務器。
1. 恢復控制文件
對于備份軟件恢復控制文件,是直接將其恢復到目標服務器的 os 上的,一般是在 var 目錄下。
登陸備份服務器,點開 DP 軟件,選擇 RESTORE,找到原庫的備份。然后在 SOURCE 選擇 CONTROL FILE FROM DP MANAGED BACKUP,在 OPTIONS 中配置:Clinet= 恢復的目標服務器,user name=oracle(目標服務器的 oracle 軟件的 os 用戶),User group=oinstall,Restore mode=Normal,Restore unitl=selected time,我這里選擇的是 20131227 22:00 點。在 Settings 中配置目標服務器的 sys 密碼和 service_name。然后點擊 restore 即可。隨后去目標服務器(160.129)的 /var/opt/omni/tmp/ 下找新產生的控制文件。
備注:Client 這里要選擇在備份服務器中配置的 192.168.160.129 所對應的別名,這里的別名一般都是主機名。
2. 恢復 spfile
現在已經有控制文件,其實參數文件,我們自己造一個就行,但如果想恢復的話,也是可以的。首先自己造一個參數文件,或者直接 startup nomount force 也行。隨后恢復控制文件,并啟動到 mount,然后恢復 spfile,具體如下:
SQL startup nomount force
RMAN restore controlfile from /var/opt/omni/tmp/ctrl_ORCLDB.dbf
RMAN alter database mount;
RMAN run {
allocate channel dev_0 type sbt_tape
parms SBT_LIBRARY=/opt/omni/lib/libob2oracle8_64bit.so,ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=mubiao_dbname,OB2BARLIST=mubiao_dbname)
send device type sbt_tape OB2BARHOSTNAME=yuanku_hostname
restore spfile to /home/orazkf/spfileORCL1.ora from autobackup;
release channel dev_0
}
released channel: ORA_DISK_1
allocated channel: dev_0
channel dev_0: SID=893 instance=ORCL1 device type=SBT_TAPE
channel dev_0: Data Protector A.06.20/PHSS_42081/DPSOL_00448/DPLNX_00154
sent command to channel: dev_0
Starting restore at 07-JAN-14
channel dev_0: looking for AUTOBACKUP on day: 20140107
channel dev_0: AUTOBACKUP found: c-3400117082-20140107-00
channel dev_0: restoring spfile from AUTOBACKUP c-3400117082-20140107-00
channel dev_0: SPFILE restore from AUTOBACKUP complete
Finished restore at 07-JAN-14
released channel: dev_0
現在可以用恢復的 spfile 和控制文件,將數據庫啟動到 mount 狀態。但需要注意的是,需要修改歸檔目錄,dump 目錄等。
3. 恢復數據文件
對于 rac 到單實例的恢復,肯定是要做 set newname 的,因為 rac 的數據文件都存在在磁盤組里,而本來都是在 fs 中。
RMAN run {
allocate channel dev_0 type sbt_tape
parms SBT_LIBRARY=/opt/omni/lib/libob2oracle8_64bit.so,ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=mubiao_dbname,OB2BARLIST=mubiao_dbname)
send device type sbt_tape OB2BARHOSTNAME=yuanku_hostname
set newname for datafile 1 to /pmsdb/oradata/ORCL1/data1/system.345.760169914
set newname for datafile 2 to /pmsdb/oradata/ORCL1/data1/sysaux.564.760187953
set newname for datafile 3 to /pmsdb/oradata/ORCL1/data1/undotbs1.124.760889985
set newname for datafile 4 to /pmsdb/oradata/ORCL1/data1/undotbs2.456.760990001
set newname for datafile 5 to /pmsdb/oradata/ORCL1/data1/users.167.760190409
set newname for datafile 6 to /pmsdb/oradata/ORCL1/data1/undotbs1.281.760310569
set newname for datafile 7 to /pmsdb/oradata/ORCL1/data1/undotbs2.282.760110751
set newname for datafile 24 to /pmsdb/oradata/ORCL1/data1/ORCLrddata101.dbf
set newname for datafile 25 to /pmsdb/oradata/ORCL1/data1/ORCLrddata102.dbf
set newname for datafile 26 to /pmsdb/oradata/ORCL1/data1/ORCLrddata103.dbf
set newname for datafile 27 to /pmsdb/oradata/ORCL1/data1/ORCLrddata104.dbf
set newname for datafile 28 to /pmsdb/oradata/ORCL1/data1/ORCLrddata105.dbf
set newname for datafile 29 to /pmsdb/oradata/ORCL1/data1/ORCLrddata106.dbf
set newname for datafile 30 to /pmsdb/oradata/ORCL1/data1/ORCLrddata107.dbf
set newname for datafile 31 to /pmsdb/oradata/ORCL1/data1/ORCLrddata108.dbf
set newname for datafile 32 to /pmsdb/oradata/ORCL1/data1/ORCLrdindex101.dbf
set newname for datafile 33 to /pmsdb/oradata/ORCL1/data1/ORCLrdindex102.dbf
set newname for datafile 34 to /pmsdb/oradata/ORCL1/data1/ORCLrdindex103.dbf
set newname for datafile 35 to /pmsdb/oradata/ORCL1/data1/ORCLrdindex104.dbf
set newname for datafile 36 to /pmsdb/oradata/ORCL1/data1/ORCLrdindex105.dbf
set newname for datafile 37 to /pmsdb/oradata/ORCL1/data1/ORCLrdindex106.dbf
set newname for datafile 38 to /pmsdb/oradata/ORCL1/data1/ORCLrdindex107.dbf
set newname for datafile 39 to /pmsdb/oradata/ORCL1/data1/ORCLrdindex108.dbf
restore database;
switch datafile all;
release channel dev_0
}
靜靜的等待很久,最后恢復成功。
4. 恢復歸檔文件
RMAN run {
allocate channel dev_0 type sbt_tape
parms SBT_LIBRARY=/opt/omni/lib/libob2oracle8_64bit.so,ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=ORCL1,OB2BARLIST=ORCL1)
send device type sbt_tape OB2BARHOSTNAME=yuanku_hostname
restore archivelog time between to_date(2013-12-27 22:00:00 , YYYY-MM-DD HH24:MI:SS) and to_date(2013-12-27 22:30:00 , YYYY-MM-DD HH24:MI:SS)
release channel dev_0
}
由于我在此之前已經設置好新的歸檔目錄,所以待恢復歸檔完畢后,去我的歸檔目錄下查看,就會發現有幾個歸檔文件。
5 執行 recover
RMAN recover database;
6 執行 open resetlogs
再此之前需要設置好閃回恢復區的大小,因為此時 oracle 可能會將新的 onlinelog 放在你的閃回恢復區中,所有要設置好大小正好,才可以啟動成功。
以上就是 RAC 怎么進行從帶庫到單實例的恢復,丸趣 TV 小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注丸趣 TV 行業資訊頻道。