oracle还原文件位置,oracle rman恢复数据文件路径不一致

a.如果备份的数据库可以访问,那么执行执行生产转化脚本:

select 'set newname for datafile ' || file# || ' to ''' ||replace( name,'/old/data/path','/new/data/path' ) || ''';' from v$datafile;

b.如果备份的数据库不可以访问,可以trace控制文件内容:

alter database backup controlfile to trace;

在alert查看生成的trace文件路径和名称;

编辑恢复脚本:

vi recover.txt

run{

allocate channel c1 type sbt;

allocate channel c2 type sbt;

allocate channel c3 type sbt;

allocate channel c4 type sbt;

allocate channel c5 type sbt;

allocate channel c6 type sbt;

allocate channel c7 type sbt;

allocate channel c8 type sbt;

set newname for datafile 1 to '/s01/oracle/oradata/prod/system.156.952859152';

set newname for datafile 2 to '/s01/oracle/oradata/prod/sysaux.157.952859154';

set newname for datafile 3 to '/s01/oracle/oradata/prod/undotbs1.258.952859453';

set newname for datafile 4 to '/s01/oracle/oradata/prod/users.159.952855153';

set newname for datafile 5 to '/s01/oracle/oradata/prod/undotbs2.168.956859305';

set newname for datafile 6 to '/s01/oracle/oradata/prod/data.176.952859731';

set newname for datafile 7 to '/s01/oracle/oradata/prod/data.177.952857539';

set newname for datafile 8 to '/s01/oracle/oradata/prod/data.178.952850557';

restore database;

switch datafile all;

recover database;

release channel c1;

release channel c2;

release channel c3;

release channel c4;

release channel c5;

release channel c6;

release channel c7;

release channel c8;

}

放在后台恢复:

nohup rman target / @recover.txt log backup.log &

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值