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

2023-10-17 02:32

本文主要是介绍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

这篇关于rman 增量恢复 dg gap后 主库添加新数据文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/222352

相关文章

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

rman compress

级别         初始         备完    耗时    low          1804       3572    0:10     High         1812       3176   2:00     MEDIUM  1820       3288    0:13    BASIC      1828   3444    0:56 ---不如MEDIUM,

如何恢复回收站中已删除/清空的文件

回收站清空后如何恢复已删除的文件?是否可以恢复永久删除的文件?或者最糟糕的是,如果文件直接被删除怎么办?本文将向您展示清空回收站后恢复已删除数据的最佳方法。 回收站清空后如何恢复已删除的文件? “回收站清空后我还能恢复已删除的文件吗?” 答案是肯定的,但是在这种情况下您将需要一个  回收站恢复工具 来从回收站中检索文件: 错误/永久删除回收站或任何数字存储设备中的文件 直接删除的文件/

海鸥相机存储卡格式化如何恢复数据

在摄影的世界里,‌每一张照片都承载着独特的记忆与故事。‌然而,‌当我们不慎将海鸥相机的存储卡格式化后,‌那些珍贵的瞬间似乎瞬间消逝,‌让人心急如焚。‌但请不要绝望,‌数据恢复并非遥不可及。‌本文将详细介绍在海鸥相机存储卡格式化后,‌如何高效地恢复丢失的数据,‌帮助您重新找回那些宝贵的记忆。‌ 图片来源于网络,如有侵权请告知 一、‌回忆备份情况 ‌海鸥相机存储卡格式化如何恢复数据?在意

想要从OPPO手机恢复数据?免费OPPO照片视频恢复软件

此实用程序可帮助那些寻找以下内容的用户: 在OPPO手机中格式化存储卡后可以恢复图片吗?我删除了 OPPO上的视频和图片,我感觉很糟糕,因为里面有我在拉斯维加斯拍摄的视频和照片 免费OPPO照片视频恢复软件 您能恢复OPPO上已删除的照片吗?我不小心格式化了OPPO SD 卡,有希望恢复已删除的照片吗? 救命!我在清理时删除了我的照片,我的问题是是否有任何免费软件可以从OPPO中恢复已

Oracle 查看表空间名称及大小和删除表空间及数据文件方法

--1、查看表空间的名称及大小  SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size  FROM dba_tablespaces t, dba_data_files d  WHERE t.tablespace_name = d.tablespace_name  GROUP BY t.tablespace_na

Oracle Data Guard:Oracle数据库的高可用性和灾难恢复解决方案

在企业级数据库管理中,确保数据的高可用性和在灾难情况下的快速恢复是至关重要的。Oracle Data Guard是Oracle公司提供的一种强大的数据库高可用性解决方案,它通过在主数据库和至少一个备用数据库之间提供实时或近实时的数据保护来实现这一目标。本文将详细介绍如何在Oracle数据库中部署和使用Oracle Data Guard,包括其基本概念、配置步骤、管理技巧和实际应用示例。 1. O

【Redis】Redis Sentinel(哨兵)系统:自动故障恢复与高可用性配置全解

目录 哨兵 (Sentinel)基本概念主从复制的问题⼈⼯恢复主节点故障哨兵⾃动恢复主节点故障 安装部署 (基于 docker)准备⼯作 以下部分是独立于这一章节的Docker安装Server版本安装CentOS安装实战经验 GUI版本安装(以windows 11为例)安装docker 以上部分是独立于这一章节的重新选举redis-master 宕机之后redis-master 重启之

ASM 10G 基于RMAN 迁移

ASM 10G 基于RMAN 迁移 场景 单节点基于10G R2 的数据库,其数据文件及日志文件均存放在ASM 里,现在为业务需求,将此数据库做迁 移,迁移到另个机房,但是两个机房的网络是通畅的,为尽量减少数据的丢失及平稳迁移和经济实惠,迁 移时,数据库需停应用 工具 本次采用RMAN 的duplicate 命令来进行迁移,运用此命令简化复杂度; 一、源库和目标库的