Oracle异地数据库恢复

最近一台DB服务器硬件故障,经过各种尝试无法启动服务器,那么要想做DB恢复一般有两种常用方式:
1、做硬盘冷迁移(前提不是硬盘损坏)
2、做异地数据恢复
如果对数据要求较高,那么我们推荐使用第一种方式,即硬盘冷迁移(将损坏服务器的硬盘插拔到无硬件故障的服务器上)。
如果想尽快恢复,又无法到机房及时完成更换硬件,则通过异地数据恢复的方式。(这种方式有几种缺点:只是将每天的rman全备同步到备份服务器,如果备机没有做系统初始化、数据库软件安装,需要重装系统、数据库等,另外就是有异地、异机备份的数据、防火墙配置、hosts配置、tnsnames.ora、listener.ora、rman全备、spfile/pfile、controlfile备份等)
鉴于我恰好有两台服务器安装了数据库、系统也做了初始化,因此我采用的异地备份数据还原的方式,具体步骤如下:
1)系统、数据库初始化
2)将异地备份文件cp到备机,主要包括rman全备(归档、全备、控制文件、spfile文件备份)、hosts、iptables、tnsnames.ora、listener.ora、.bash_profile
3)将系统备份文件还原、主机名、网络修改、环境变量文件还原等,重启服务器
4)将spfile通过strings生成pfile,并调整里面的相应的文件路径为新服务器的路径
5)通过pfile启动数据到nomount,然后通过create spfile from pfile生成spfile,关闭数据并在此启动到nomount
6)通过rman target /连接到数据库,restore controlfile from '/U01/app/oracle/tools/20161104/full_ORCL_20161104_3842';还原控制文件,然后alter database mount ;启动到mount状态
7)通过下面命令获取到所有数据文件重命名语句
col name for a100;
set line 200;
set pagesize 20000;
select file#,name from v$database;
cat aa |while read line;do  num=`echo $line |awk '{print $1}'`; name=`echo $line |awk '{print $2}'|awk -F'/' '{print $8}'`; echo "set newname for datafile ${num} to '/U01/app/oracle/oradata/orcl11g/${name}' ;"; done
8)通过下面命令在rman中完成数据库的数据文件restore
run
{
set newname for datafile 1 to '/U01/app/oracle/oradata/orcl11g/system01.dbf' ;
set newname for datafile 2 to '/U01/app/oracle/oradata/orcl11g/sysaux01.dbf' ;
set newname for datafile 3 to '/U01/app/oracle/oradata/orcl11g/undotbs01.dbf' ;
set newname for datafile 4 to '/U01/app/oracle/oradata/orcl11g/users01.dbf' ;
......
set newname for datafile 25 to '/U01/app/oracle/oradata/orcl11g/XXX.dbf' ;
restore database;
switch datafile all;
} ;
9)通过下面命令做数据库恢复
recover database until scn 2299;
10)由于异地恢复,redo日志需要重建,因此做介质恢复后打开数据库需要通过resetlogs方式打开。
alter database open resetlogs;

备注:alter database clear logfile group 2; 清空日志 ,如果有ORA-00392: log 3 of thread 1 is being cleared, operation not allowed,需要清理。
         alter  system swith logfile ;
         alter database add logfile member '' to group 1;
         alter database drop logfile member 'xxxx';








来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27067062/viewspace-2127956/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/27067062/viewspace-2127956/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值