RMAN增量备份恢复

通过rman的增量备份恢复dataguard中standby端的数据:
1.停止备库上的MRP进程:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
2.查询备库上的SCN值:
SQL> SELECT CURRENT_SCN FROM V$DATABASE;
CURRENT_SCN
--------------
233164444
SQL> select min(checkpoint_change#) from v$datafile_header
where file# not in (select file# from v$datafile where enabled = 'READ ONLY');
MIN(F.FHSCN)
----------------
233163358
comment:上面一个为控制文件中记录的SCN号,另一个为数据文件头记录的SCN号, 我们需要选择较小SCN号(233163358)的来备份。
3.对主库进行增量备份:
RMAN> BACKUP INCREMENTAL FROM SCN 233163358 DATABASE FORMAT '/tmp/ForStandby_%U' tag 'FORSTANDBY';
4.传送备份集到备库:
scp /tmp/ForStandby_%U    standby:/tmp/
5.在备库控制文件中注册备份集:
RMAN> CATALOG START WITH '/tmp/ForStandby';
6.使用已经注册的备份集进行恢复:
RMAN> RECOVER DATABASE NOREDO;
7.在主库创建一个备用的备库控制文件备份:
RMAN> BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT '/tmp/ForStandbyCTRL.bck';
8.将备份用的备库控制文件传到主库;
9.将此时备库的控制文件进行备份,以供后面验证是否存在差异:
RMAN>  backup current controlfile format '/tmp/ctl_%d_%T_%s.ctl';
10.在备库中恢复备份控制文件:
RMAN> SHUTDOWN IMMEDIATE ;
RMAN> STARTUP NOMOUNT;
RMAN> RESTORE STANDBY CONTROLFILE FROM '/tmp/ForStandbyCTRL.bck';
11.启动备库到mount:
RMAN> SHUTDOWN IMMEDIATE ;
RMAN> STARTUP MOUNT;
12.备库控制文件注册数据文件
RMAN> CATALOG START WITH '+DATA/mystd/datafile/';
RMAN> SWITCH DATABASE TO COPY;
13. 在备库清空所有备用重做日志:
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 1;
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 2;
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 3;
....
14. 在备库开启MRP进程
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;

联系自己做恢复时候的一个报错问题。先关闭MRP进程,然后按照备库此时最小SCN值在主库上进行备份,然后将备份上传到备库,注册进控制文件钟,进行recover database noredo恢复

此时我第一步先替换了控制文件重新启动了数据库,并将备份和数据文件重新注册进控制文件中,SWITCH DATABASE TO COPY; 之后我用命令recover database noredo恢复:

RMAN> recover database noredo;

Starting recover at 31-AUG-17

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=56 instance=jyzhao1 device type=DISK

channel ORA_DISK_1: starting incremental datafile backup set restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

destination for restore of datafile 00001: +DATA/mynas/datafile/system.258.951608183

destination for restore of datafile 00002: +DATA/mynas/datafile/sysaux.257.951608183

destination for restore of datafile 00003: +DATA/mynas/datafile/undotbs1.259.951608185

destination for restore of datafile 00004: +DATA/mynas/datafile/users.265.951608205

destination for restore of datafile 00005: +DATA/mynas/datafile/undotbs2.261.951608185

destination for restore of datafile 00006: +DATA/mynas/datafile/dbs_d_jingyu.262.951608185

destination for restore of datafile 00007: +DATA/mynas/datafile/dbs_i_jingyu.263.951608185

destination for restore of datafile 00008: +DATA/mynas/datafile/test.264.951608185

destination for restore of datafile 00009: +DATA/mynas/datafile/test2.260.951608185

destination for restore of datafile 00010: +DATA/mynas/datafile/dbs_d_hank.274.951774467

destination for restore of datafile 00011: +DATA/mynas/datafile/dbadata.276.952933931

channel ORA_DISK_1: reading from backup piece /public/backup/incremental/inc26vsd9r18.bak

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of recover command at 08/31/2017 15:11:05

ORA-19870: error while restoring backup piece /public/backup/incremental/inc26vsd9r18.bak

ORA-19573: cannot obtain exclusive enqueue for datafile 11

起初我认为可能是备份问题,后来查阅了报错,发现是恢复被其他的进程占用,此时想到MRP进程,检查发现没有停止mrp进程,手动停止后,发现可以正常进行恢复。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: RMAN(Recovery Manager)是Oracle数据库中用于备份和恢复的工具。在备份数据库时,为了减少备份时间和存储空间的占用,可以使用增量备份策略。 增量备份是指只备份发生变化的数据块或数据文件,而不是备份整个数据库。这种备份策略可以大大减少备份时间和所需存储空间的数量。RMAN通过记录数据文件中已备份的块的信息,可以实现增量备份的功能。 在进行增量备份时,首先需要进行一次完全备份,备份整个数据库。然后,通过对数据库进行归档日志的应用,记录数据库自上次备份以来所发生的变化。在下一次备份时,RMAN会通过比较数据文件块的变化情况,只备份有变化的块和文件。 当需要恢复数据库时,可以使用增量备份进行恢复恢复过程中,首先需要恢复完全备份文件,然后再应用增量备份中的数据,将数据库恢复到备份时的状态。通过增量备份恢复,可以减少恢复时间和所需的存储空间。 总的来说,RMAN增量备份恢复是一种高效的备份和恢复策略。它通过只备份变化的数据块和文件,节省了备份时间和存储空间。在恢复时,通过应用增量备份的数据和完全备份一起,可以快速恢复数据库到备份时的状态。 ### 回答2: RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具,可以有效地管理数据库的备份和恢复操作。RMAN增量备份恢复是指使用RMAN工具对数据库进行增量备份,并在需要时通过这些增量备份来对数据库进行恢复RMAN增量备份恢复的过程主要包括以下几个步骤: 首先,需要定义RMAN备份策略。这包括确定全备份和增量备份的频率、备份存储位置和保留策略等。通过合理的备份策略,可以减少备份资源和时间的消耗,提高备份效率。 其次,在需要进行增量备份时,RMAN会比较数据库的数据块变化情况,并将发生变化的数据块备份到备份集中。这样可以避免对整个数据库进行备份,节省备份时间和存储空间。 然后,当需要对数据库进行恢复时,可以使用RMAN工具来自动选择所需的增量备份集,并执行恢复操作。RMAN会根据增量备份集中的信息,将发生变化的数据块应用到正常备份中,从而实现数据库的恢复。 最后,需要验证恢复结果。通过执行一些必要的检查和测试,可以确认恢复成功并确保数据库的一致性和完整性。 总之,RMAN增量备份恢复是一种高效的数据库备份和恢复方法。它能够根据数据库的变化情况进行备份,减少备份时间和存储空间的使用,同时能够快速且可靠地恢复数据库。因此,合理使用RMAN增量备份恢复可以有效保护数据库的数据安全。 ### 回答3: RMAN(Recovery Manager)是Oracle数据库中的一种备份和恢复工具,可以进行全量备份和增量备份恢复增量备份是指在数据库的基础上,仅备份变化的数据块,而不是整个数据库。在进行增量备份之前,首先需要进行全量备份,然后再进行增量备份增量备份可以大大减少备份的时间和存储空间。 在进行增量备份恢复时,首先需要将之前的全量备份恢复到数据库中。然后,根据增量备份记录的日志,将增量备份恢复到数据库中。增量备份的日志记录了自上次全量备份以来的所有变化。 在进行恢复时,RMAN会首先从增量备份日志中确定要恢复的数据块。然后,它会根据增量备份中记录的变化,将相应的数据块进行恢复。最后,RMAN会根据增量备份的顺序,恢复事务的提交。 通过增量备份恢复,可以将数据库恢复到某个特定的时间点,而不必恢复到最新的全量备份。这可以节省大量的时间和存储空间,同时也可以减少数据丢失的范围。 总之,RMAN增量备份恢复是Oracle数据库中一种高效且可靠的恢复方法,可以通过仅备份变化的数据块来减少备份时间和存储空间,并在恢复时精确地恢复到指定的时间点。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值