rman 增量恢复 dg gap后 主库添加新数据文件



1) On the standby database, 关闭 (MRP)
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;


2) On the STANDBY DATABASE, 获取备库最小scn值,用作主库增量备份点 :
col MIN(CHECKPOINT_CHANGE#) for 999999999999999999
col CURRENT_SCN for 99999999999999999
SELECT CURRENT_SCN FROM V$DATABASE;


select min(checkpoint_change#) from v$datafile_header;
CHECKPOINT_CHANGE#
---------------------
3162298


col current_scn for 999999999999999
 SELECT CURRENT_SCN FROM V$DATABASE;
 
 select min(fhscn) from x$kcvfh;
 
 select min(f.fhscn) from x$kcvfh f, v$datafile d
      where f.hxfil =d.file# and d.enabled != 'READ ONLY' ;


取最小scn


3)  在主库确定dg gap后新添加的数据文件(scn 基于备库的最小scn) :
SQL> SELECT FILE#, NAME FROM V$DATAFILE WHERE CREATION_CHANGE# > <SCN_NUMBER_FROM_STEP 2>;


4) 使用rman 创建相应数据文件备份,和全库基于scn 的增量备份,standb 控制文件:
RMAN> backup datafile #, #, #, # format '/tmp/ForStandby_%U' tag 'FORSTANDBY';
RMAN> backup incremental from SCN 3162298 database format '/tmp/ForStandby_%U' tag 'FORSTANDBY';
RMAN> backup current controlfile for standby format '/tmp/ForStandbyCTRL.bck';



 5) 把备份结果拷贝到备库
scp /tmp/ForStandby_* standby:/tmp


 6)恢复新生成的standby 控制文件,并注册拷过来的备份片:
RMAN> shutdown;
RMAN> startup nomount;
RMAN> restore standby controlfile from '/tmp/ForStandbyCTRL.bck';
RMAN> alter database mount;


-----注册拷过来的备份片
RMAN> CATALOG START WITH '/tmp/ForStandby'; 

using target database control file instead of recovery catalog 
searching for all files that match the pattern /tmp/ForStandby 


List of Files Unknown to the Database 
===================================== 
File Name: /tmp/ForStandby_2llixora4_1_1 
File Name: /tmp/ForStandby_2mlixora8_1_1 


Do you really want to catalog the above files (enter YES or NO)? YES 
cataloging files... 
cataloging done 


List of Cataloged Files 
======================= 
File Name: /tmp/ForStandby_2llixora4_1_1 
File Name: /tmp/ForStandby_2mlixora8_1_1



 7) restore missing datafiles:
这里可能会有问题,当主库新添加的数据文件没有数据时,ramn 备份生成的是备份集只100多kb,貌似在使用


catalog start with 时oracle 没法识别到。
不过没关系,我们可以直接手工注册:
CATALOG BACKUPPIECE '/tmp/01dmsbj4_1_1.bcp’; 

run
{
set newname for datafile 9 to '+DISKGROUP';
set newname for datafile 8 to '+DISKGROUP';
set newname for datafile 11 to '+DISKGROUP';
#set newname for datafile 12 to '/oradata/datafile/lixora.dbf';
restore datafile 9,8,11,....;
}



8)更新备库 stndby 控制文件中数据文件的路径 .
使用 catalog 命令更新数据文件路径(备库和主库数据文件名,路径不同的数据文件)


RMAN> CATALOG START WITH '+DATA/lixora/datafile/'; 
or
RMAN> CATALOG START WITH '/oradata/lixora/datafile/'; 

List of Files Unknown to the Database 
===================================== 
File Name: +data/lixora/DATAFILE/SYSTEM.309.685535773 
File Name: +data/lixora/DATAFILE/SYSAUX.301.685535773 
File Name: +data/lixora/DATAFILE/UNDOTBS1.302.685535775 
File Name: +data/lixora/DATAFILE/SYSTEM.297.688213333 
File Name: +data/lixora/DATAFILE/SYSAUX.267.688213333 
File Name: +data/lixora/DATAFILE/UNDOTBS1.268.688213335 

Do you really want to catalog the above files (enter YES or NO)? YES 
cataloging files... 
cataloging done 

List of Cataloged Files 
======================= 
File Name: +data/lixora/DATAFILE/SYSTEM.297.688213333 
File Name: +data/lixora/DATAFILE/SYSAUX.267.688213333 
File Name: +data/lixora/DATAFILE/UNDOTBS1.268.688213335




---这一步等效于 alert database datafile rename ,这一步才真正去更新standby 控制文件中的数据文件信息:
RMAN> SWITCH DATABASE TO COPY; 


datafile 1 switched to datafile copy "+DATA/lixora/datafile/system.297.688213333" 
datafile 2 switched to datafile copy "+DATA/lixora/datafile/undotbs1.268.688213335" 
datafile 3 switched to datafile copy "+DATA/lixora/datafile/sysaux.267.688213333"
 
9) 使用增量备份恢复 备库,noredo表示不应用redo or 归档:
RMAN> RECOVER DATABASE NOREDO; 

starting recover at 03-JUN-09 
allocated channel: ORA_DISK_1 
channel ORA_DISK_1: sid=28 devtype=DISK 
channel ORA_DISK_1: starting incremental datafile backupset restore 
channel ORA_DISK_1: specifying datafile(s) to restore from backup set 
destination for restore of datafile 00001: +DATA/lixora/datafile/system.297.688213333 
destination for restore of datafile 00002: +DATA/lixora/datafile/undotbs1.268.688213335 
destination for restore of datafile 00003: +DATA/lixora/datafile/sysaux.267.688213333 
channel ORA_DISK_1: reading from backup piece /tmp/ForStandby_2llixora4_1_1 
channel ORA_DISK_1: restored backup piece 1 
piece handle=/tmp/ForStandby_2llixora4_1_1 tag=FORSTANDBY 
channel ORA_DISK_1: restore complete, elapsed time: 00:00:02 
Finished recover at 03-JUN-09


10) 【可选】配置闪回
If the STANDBY database needs to be configured for FLASHBACK use the below step to enable.
SQL> ALTER DATABASE FLASHBACK OFF; 
SQL> ALTER DATABASE FLASHBACK ON;


11) 清理所有的standby redolog ,建议清理


SQL> ALTER DATABASE CLEAR LOGFILE GROUP 1; 
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 2; 
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 3;
....

12) On the STANDBY database, 启动MRP
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;


 This note assumes all files are at the same recovery scn or very close. 
If nologging operations have been made or files are at differnt or widely varying scns see the 

online documentation:
10.2:  http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/scenarios.htm#CIHIAADC
11.1:  http://download.oracle.com/docs/cd/B28359_01/server.111/b28294/rman.htm#SBYDB00759
11.2: http://download.oracle.com/docs/cd/E11882_01/server.112/e17022/rman.htm#CIHIAADC
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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数据中一种高效且可靠的恢复方法,可以通过仅备份变化的数据块来减少备份时间和存储空间,并在恢复时精确地恢复到指定的时间点。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值