oracle增量恢复解决备库GAP问题

2024-01-05 11:28

本文主要是介绍oracle增量恢复解决备库GAP问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Rolling forward a standby database using RMAN Incremental Backup.

模拟归档丢失的情况

一 主库操作:

查看当前归档

停用归档传输

alter system set log_archive_dest_state_2=defer;

切换归档

alter system switch logfile;

alter system switch logfile;

模拟丢失归档

RMAN> delete archivelog low sequence 3821 high sequence 3823;

RMAN> delete force archivelog low sequence 3821 high sequence 3823; ------11G需要添加force

恢复归档传输

alter system set log_archive_dest_state_2=enable;

备库警告日志错误

FAL[client]: Failed to request gap sequence

 GAP - thread 1 sequence 79-81

 DBID 2144245355 branch 846098926

FAL[client]: All defined FAL servers have been attempted.

-------------------------------------------------------------

Check that the CONTROL_FILE_RECORD_KEEP_TIME initialization

parameter is defined to a value that is sufficiently large

enough to maintain adequate log switch information to resolve

archivelog gaps.

-------------------------------------------------------------

Tue Apr 29 18:54:21 2014

二 备库操作

用增量备份解决断档

备库查询当前scn号

–停止mrp应用

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

–查询scn取最小值(取当前scn和最小scn的中的最小值)

SELECT CURRENT_SCN FROM V$DATABASE;

SELECT to_char(CURRENT_SCN) FROM V$DATABASE;

CURRENT_SCN

  570778

select min(fhscn) from x$kcvfh;

MIN(FHSCN)

  570778

三 增量备份

主库进行增量备份并创建controlfile

RMAN>BACKUP INCREMENTAL FROM SCN 570778 DATABASE FORMAT '/tmp/ForStandby_%U' tag 'FORSTANDBY';

scp ForStandby_* node2:/oracle/arch/

ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/control01.ctl';

scp control01.ctl node2:/oracle/oradata/test/control01.ctl

在主库增量备份的过程中,可使用以下语句查询进度

SELECT inst_id,

sid,

serial#,

opname,

ROUND(SOFAR / TOTALWORK * 100, 2) "%_COMPLETE"

FROM gV$SESSION_LONGOPS

WHERE OPNAME LIKE 'RMAN%'

AND OPNAME NOT LIKE '%aggregate%'

AND TOTALWORK != 0

AND SOFAR <> TOTALWORK;

最后确定主库在此scn后是否添加过数据文件

SQL> select FILE#,name from v$datafile where CREATION_CHANGE#> =570778;

如果有添加过数据文件,确保standby_file_management=auto,则后续可以restore进行恢复

如果不使用restore进行恢复,则使用以下步骤进行创建数据文件(待验证)

select file#,name from v$datafile;

alter database create datafile '/oracle/app/product/11.2.0/db_1/dbs/UNNAMED00011' as '/oradata/ddd01.dbf'

备库端操作

关闭数据库用新的controlfile打开到mount状态并注册备份信息

恢复数据文件:

alter database mount;

RMAN>CATALOG BACKUPPIECE '/oracle/arch/ForStandby_04p6vfe9_1_1';

RMAN>CATALOG BACKUPPIECE '/oracle/arch/ForStandby_03p6vfdg_1_1';

RMAN> catalog start with '/oracle/arch';

恢复数据文件:(如果有增加过数据文件,执行这步,没有跳到下一步)

RMAN> restore datafile 10;数据文件号为在主库scn添加过的数据文件号

恢复

RMAN> RECOVER DATABASE NOREDO;

备库开启mrp

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;

关闭mrp

alter database recover managed standby database cancel;

开启数据库

alter database open

四 补充

若主库的部分归档由于某些原因没有传至备库,则可通过以下方法解决:

1 主库scp  备库丢失的归档  备库

2 备库应用归档:

alter database register logfile ‘/data/archlog /1_324_966768650.dbf’;

3 观察alert日志

这篇关于oracle增量恢复解决备库GAP问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Springboot3统一返回类设计全过程(从问题到实现)

《Springboot3统一返回类设计全过程(从问题到实现)》文章介绍了如何在SpringBoot3中设计一个统一返回类,以实现前后端接口返回格式的一致性,该类包含状态码、描述信息、业务数据和时间戳,... 目录Spring Boot 3 统一返回类设计:从问题到实现一、核心需求:统一返回类要解决什么问题?

解决idea启动项目报错java: OutOfMemoryError: insufficient memory

《解决idea启动项目报错java:OutOfMemoryError:insufficientmemory》:本文主要介绍解决idea启动项目报错java:OutOfMemoryError... 目录原因:解决:总结 原因:在Java中遇到OutOfMemoryError: insufficient me

maven异常Invalid bound statement(not found)的问题解决

《maven异常Invalidboundstatement(notfound)的问题解决》本文详细介绍了Maven项目中常见的Invalidboundstatement异常及其解决方案,文中通过... 目录Maven异常:Invalid bound statement (not found) 详解问题描述可

idea粘贴空格时显示NBSP的问题及解决方案

《idea粘贴空格时显示NBSP的问题及解决方案》在IDEA中粘贴代码时出现大量空格占位符NBSP,可以通过取消勾选AdvancedSettings中的相应选项来解决... 目录1、背景介绍2、解决办法3、处理完成总结1、背景介绍python在idehttp://www.chinasem.cna粘贴代码,出

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

SpringSecurity中的跨域问题处理方案

《SpringSecurity中的跨域问题处理方案》本文介绍了跨域资源共享(CORS)技术在JavaEE开发中的应用,详细讲解了CORS的工作原理,包括简单请求和非简单请求的处理方式,本文结合实例代码... 目录1.什么是CORS2.简单请求3.非简单请求4.Spring跨域解决方案4.1.@CrossOr

nacos服务无法注册到nacos服务中心问题及解决

《nacos服务无法注册到nacos服务中心问题及解决》本文详细描述了在Linux服务器上使用Tomcat启动Java程序时,服务无法注册到Nacos的排查过程,通过一系列排查步骤,发现问题出在Tom... 目录简介依赖异常情况排查断点调试原因解决NacosRegisterOnWar结果总结简介1、程序在

解决java.util.RandomAccessSubList cannot be cast to java.util.ArrayList错误的问题

《解决java.util.RandomAccessSubListcannotbecasttojava.util.ArrayList错误的问题》当你尝试将RandomAccessSubList... 目录Java.util.RandomAccessSubList cannot be cast to java.

Apache服务器IP自动跳转域名的问题及解决方案

《Apache服务器IP自动跳转域名的问题及解决方案》本教程将详细介绍如何通过Apache虚拟主机配置实现这一功能,并解决常见问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录​​问题背景​​解决方案​​方法 1:修改 httpd-vhosts.conf(推荐)​​步骤

java反序列化serialVersionUID不一致问题及解决

《java反序列化serialVersionUID不一致问题及解决》文章主要讨论了在Java中序列化和反序列化过程中遇到的问题,特别是当实体类的`serialVersionUID`发生变化或未设置时,... 目录前言一、序列化、反序列化二、解决方法总结前言serialVersionUID变化后,反序列化失