RAC怎么进行从带库到单实例的恢复

69次阅读
没有评论

共计 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 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-17发表,共计4322字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)