实例名相同且安装目录相同的数据库rman异机恢复

前提条件:
1、目标库源库实例名一致且安装目录一致,都是archive log模式;
2、源库按以下方式进行rman备份:
(1)rman基本设置:
RMAN> configure default device type to disk; (设置默认的备份设备为磁盘)
RMAN> configure device type disk parallelism 2; (设置备份的并行级别,通道数)
RMAN> configure channel 1 device type disk format ‘/u01/rmanbak1/rmanbak_%U’; (设置备份的文件格式,只适用于磁盘设备)
RMAN> configure channel 2 device type disk format ‘/u01/rmanbak2/rmanbak_%U’; (设置备份的文件格式,只适用于磁盘设备)
RMAN> configure controlfile autobackup on; (打开控制文件与服务器参数文件的自动备份)
RMAN> configure controlfile autobackup format for device type disk to ‘/u01/rmanbak1/ctl_%F’; (设置控制文件与服务器参数文件自动备份的文件格式)
(2)backup database plus archivelog delete input; (备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志)
(3)backup tablespace system plus archivelog delete input; (备份指定表空间及归档的重做日志,并删除旧的归档日志)
(4)backup archivelog all delete input;(备份归档日志)
3、以上备份文件存储在 /u01/rmanbak1和 /u01/rmanbak2文件夹下,将文件全部传输至目标库的/backup1文件夹下
4、将目标库原有的归档日志删除,再将备份后源库产生的归档日志文件传输至目标库的相同目录下(经过上面的备份后,源库的归档日志只剩下当天的,将当天的归档日志全部拷贝至目标库)

开始目标库操作:
shutdown immediate;

startup nomount pfile=’/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initcrm.ora’;

set dbid=**********;(源库的dbid)

restore spfile to ‘/u01/app/oracle/product/11.2.0/dbhome_1/dbs/spfilecrm.ora’ from ‘/backup1/ctl_c-3866651521-20210429-01’;

restore controlfile from ‘/backup1/ctl_c-3866651521-20210429-01’;

alter database mount;

catalog start with ‘/backup1/’;

restore database;
recover database;

alter database open resetlogs;
( --使用resetlogs,将导致online logs里的内容丢失,并且所有的备份失效,仅当online logs 随坏的情况下,才使用resetlos模式。使用noresetlogs仅是当前所有的online logs可用时)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle数据库中,使用RMAN进行异机目录恢复需要以下步骤: 1. 在目标数据库服务器上创建与源数据库相同目录结构。 2. 在目标数据库服务器上创建与源数据库相同数据库实例,包括实例、SID、监听器、参数文件等。 3. 将备份文件从源数据库服务器拷贝到目标数据库服务器上的对应目录中。 4. 在目标数据库服务器上使用RMAN连接到目标数据库实例。 5. 执行RMAN命令进行恢复操作,包括设置恢复目标、设置恢复策略、设置备份文件位置等。 6. 执行完毕后,关闭数据库并重启实例。 具体步骤如下: 1. 在目标数据库服务器上创建与源数据库相同目录结构。 需要创建与源数据库相同目录结构,包括控制文件、数据文件、归档日志和备份文件等目录。 2. 在目标数据库服务器上创建与源数据库相同数据库实例。 需要创建与源数据库相同数据库实例,包括实例、SID、监听器、参数文件等。 3. 将备份文件从源数据库服务器拷贝到目标数据库服务器上的对应目录中。 需要将备份文件从源数据库服务器拷贝到目标数据库服务器上的对应目录中,保证备份文件在恢复时能被找到。 4. 在目标数据库服务器上使用RMAN连接到目标数据库实例。 使用以下命令连接到目标数据库实例: ``` rman target sys/password@targetdb ``` 其中,sys/password是目标数据库的用户和密码,targetdb是目标数据库的服务或SID。 5. 执行RMAN命令进行恢复操作。 首先,设置恢复目标: ``` run { set until time "to_date('2022-12-31 23:59:59', 'YYYY-MM-DD HH24:MI:SS')"; set newname for datafile '/path/to/source/datafile01.dbf' to '/path/to/target/datafile01.dbf'; set newname for datafile '/path/to/source/datafile02.dbf' to '/path/to/target/datafile02.dbf'; ... set newname for datafile '/path/to/source/datafileN.dbf' to '/path/to/target/datafileN.dbf'; restore database; switch datafile all; recover database; } ``` 其中,set until time语句指定恢复到的时间点,set newname语句指定恢复后的数据文件路径和称。 然后,设置恢复策略: ``` run { set archivelog destination to '/path/to/target/archivelog'; restore archivelog all; } ``` 其中,set archivelog destination语句指定归档日志的恢复目录,restore archivelog all语句恢复所有的归档日志。 最后,设置备份文件位置: ``` run { allocate channel ch1 type 'sbt_tape'; set controlfile autobackup format for device type sbt to '/path/to/controlfile_%F.bkp'; backup current controlfile for standby; } ``` 其中,allocate channel语句指定备份设备类型和通道,set controlfile autobackup format语句指定自动备份控制文件的格式,backup current controlfile for standby语句备份当前的控制文件。 6. 执行完毕后,关闭数据库并重启实例。 在所有操作执行完毕后,关闭数据库并重启实例,然后可以进行测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值