恢复-恢复多节点RAC至单节点

pfile模板
*.compatible='11.2.0.4.0'
*.db_block_size=8192
*.db_name='rmsdb'
*.log_archive_dest_1='location=/home/oracle/app/arch'
*.db_file_name_convert=('+DATA/rmsdb/datafile','/home/oracle/app/oradata')
*.log_file_name_convert=('+DATA/rmsdb/onlinelog','/home/oracle/app/logfile')


第一步,恢复pfile,注意chown和chmod,将无用参数删除,加上name_convert
sql>startup nomount pfile='/install/rmsdb/init.ora';


第二步,恢复控制文件
rman>restore controlfile from '/home/backup/20150608/RMSDB_20150608_1370_1_cONTROL';


第三步,恢复到mount状态
alter database mount;  


第四步,查看logfile的名称,名称奇怪的一定不用
select group#,member from v$logfile;


第四步,查看数据文件和临时文件
SQL> select file#,name from v$datafile;


     FILE#    NAME
---------    --------
         1       +DATA/rmsdb/datafile/system.256.878159043


         2       +DATA/rmsdb/datafile/sysaux.257.878159043


         3       +DATA/rmsdb/datafile/undotbs1.258.878159043
 
        4        +DATA/rmsdb/datafile/users.259.878159043


         5       +DATA/rmsdb/datafile/undotbs2.264.878159251


         6       +DATA/rmsdb/datafile/rmsdata
  
         7       +DATA/rmsdb/datafile/rmsindex


SQL> select file#,name from v$tempfile;


     FILE#      NAME
----------     ------------
         1        +DATA/rmsdb/tempfile/temp.263.878159141


         2       +DATA/rmsdb/tempfile/temp02.dbf


第五步,将备份文件转移到相同源目录的地方
rman>crosscheck backupset
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/home/backup/20150609/RMSDB_20150609_1596_1_ARcHIVE RECID=1576 STAMP=881947648
说明备份指向/home/backup/20150609


第六步,执行脚本
run
{
set newname for datafile 1 to"/home/oracle/app/oradata/SYSTEM.DBF";
set newname for datafile 2 to"/home/oracle/app/oradata/SYSAUX.DBF";
set newname for datafile 3 to"/home/oracle/app/oradata/UNDOTBS.DBF";
set newname for datafile 4 to"/home/oracle/app/oradata/USERS.DBF";
set newname for datafile 5 to"/home/oracle/app/oradata/undotbs.DBF";
set newname for datafile 6 to"/home/oracle/app/oradata/rmsdata.DBF";
set newname for datafile 7 to"/home/oracle/app/oradata/rmsindex.DBF";
set newname for tempfile 1 to "/home/oracle/app/oradata/temp1.DBF";
set newname for tempfile 2 to "/home/oracle/app/oradata/temp2.DBF";
restore database;
switch datafile all;
switch tempfile all;
}










第七步,确定sequence
select max(sequence#),thread# from gv$archived_log group by thread#;


recover database using backup controlfile until cancel
alter database open resetlogs;
第八步,将缺失的archivelog从asm里拿回来
grid>asmcmd
cd FLASH/ARCH
cp 1_13140_878159131.dbf /home/20150612
cp 1_13141_878159131.dbf /home/20150612
cp 1_13142_878159131.dbf /home/20150612
cp 1_13143_878159131.dbf /home/20150612
cp 1_13144_878159131.dbf /home/20150612
cp 1_13145_878159131.dbf /home/20150612
cp 1_13146_878159131.dbf /home/20150612
cp 1_13147_878159131.dbf /home/20150612
cp 1_13148_878159131.dbf /home/20150612
cp 1_13149_878159131.dbf /home/20150612




cp 2_28060_878159131.dbf /home/20150612
cp 2_28061_878159131.dbf /home/20150612
cp 2_28062_878159131.dbf /home/20150612
cp 2_28063_878159131.dbf /home/20150612
cp 2_28064_878159131.dbf /home/20150612
cp 2_28065_878159131.dbf /home/20150612
cp 2_28066_878159131.dbf /home/20150612
cp 2_28067_878159131.dbf /home/20150612
cp 2_28068_878159131.dbf /home/20150612
cp 2_28069_878159131.dbf /home/20150612


cp 2_26892_878159131.dbf /home/20150612
cp 1_12637_878159131.dbf /home/20150612 


查看logfile的名称
select group#,member from v$logfile;
修改错误名称




重命名logfile的方法
alter database rename file '+DATA/rmsdb/onlinelog/group_2.262.878159133' to '/home/oracle/app/oradata/log22.log';
alter database rename file '+FLASH/rmsdb/onlinelog/group_2.258.878159133' to '/home/oracle/app/oradata/log21.log';
alter database rename file '+DATA/rmsdb/onlinelog/group_1.261.878159131' to '/home/oracle/app/oradata/log12.log';
alter database rename file '+FLASH/rmsdb/onlinelog/group_1.257.878159131' to '/home/oracle/app/oradata/log11.log';
alter database rename file '+DATA/rmsdb/onlinelog/group_3.265.878159353' to '/home/oracle/app/oradata/log32.log';
alter database rename file '+FLASH/rmsdb/onlinelog/group_3.259.878159353' to '/home/oracle/app/oradata/log31.log';
alter database rename file '+DATA/rmsdb/onlinelog/group_4.266.878159353' to '/home/oracle/app/oradata/log42.log';
alter database rename file '+FLASH/rmsdb/onlinelog/group_4.260.878159355' to '/home/oracle/app/oradata/log41.log';






alter database rename file '+FLASH/rmsdb/onlinelog/redo51' to '/home/oracle/app/oradata/log51.log';


alter database rename file '+DATA/rmsdb/onlinelog/redo52' to '/home/oracle/app/oradata/log52.log';




alter database rename file '+FLASH/rmsdb/onlinelog/redo61' to '/home/oracle/app/oradata/log61.log';


alter database rename file '+DATA/rmsdb/onlinelog/redo62' to '/home/oracle/app/oradata/log62.log';




alter database rename file '+FLASH/rmsdb/onlinelog/redo71' to '/home/oracle/app/oradata/log71.log';


alter database rename file '+DATA/rmsdb/onlinelog/redo72' to '/home/oracle/app/oradata/log72.log';




alter database rename file '+FLASH/rmsdb/onlinelog/redo81' to '/home/oracle/app/oradata/log81.log';


alter database rename file '+DATA/rmsdb/onlinelog/redo82' to '/home/oracle/app/oradata/log82.log';






删除多余logfile
alter database clear logfile group 1;
alter database drop logfile group 1  ;


恢复archivelog文件
run{
allocate channel t1 type disk;
set archivelog destination to '/home/oracle/app/arch';
restore archivelog from sequence 2345 thread 1 until sequence 2350 thread 1; }

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

转载于:http://blog.itpub.net/21302630/viewspace-1696816/

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值