模拟ADG主库归档文件丢失,备库出现gap(增量备份解决)

文章目录

  • 一、说明
  • 二、环境信息
    • 2.1.主备库环境信息
    • 2.2.检查主备是否同步正常
  • 三、模拟日志断档
    • 3.1.模拟主库归档文件丢失
    • 3.2 查看主库状态出现GAP
  • 四、RMAN增量备份恢复备库同步
    • 4.1 RMAN增量恢复备库
    • 4.2 开启备库redo同步
    • 4.3 主备库验证同步

一、说明

模拟Oracle主库归档文件丢失,备库出现gap,通过增量备份方式恢复备库。
(本文档模拟断档期间没有新增数据文件的情况,断档期间有新增数据文件的情况需要在备库在备库恢复控制文件并注册数据文件后再restore恢复新增数据文件然后再重新命名控制文件中的数据文件,再执行 RECOVER DATABASE NOREDO增量备份恢复备库)

二、环境信息

2.1.主备库环境信息

主机名IP数据库版本
主库p19c192.168.80.4019.3
备库p19cstd192.168.80.3919.3

2.2.检查主备是否同步正常

-- 创建测试表并插入数据 
CREATE TABLE zyy_test (  id INT PRIMARY KEY,  name VARCHAR2(50) NOT NULL  
);   
BEGIN  FOR i IN 1..30 LOOP  INSERT INTO zyy_test (id, name) VALUES (i, 'Name' || TO_CHAR(i));  END LOOP;  COMMIT;  
END;  
/
commit;
分别在主库备库查看
select count(*) from zyy_test;

主库查看:
在这里插入图片描述

备库查看:
在这里插入图片描述
主备同步正常。

三、模拟日志断档

3.1.模拟主库归档文件丢失

3.1.1 备库取消日志实时应用

alter database recover managed standby database cancel;
SELECT PROCESS, STATUS FROM V$MANAGED_STANDBY;

在这里插入图片描述
备库mrp进程已关闭。
3.1.2在主库删除表数据并切换日志
DELETE FROM zyy_test WHERE id > 27;
commit;
select count(*) from zyy_test;
主库查看:
在这里插入图片描述
备库由于关闭了日志实时同步,表数据不会发生改变:
在这里插入图片描述
3.1.3 在主库切换日志查看当前日志编号

alter system switch logfile;
set linesize 200
select * from v$log;

在这里插入图片描述
由上图可以看到主库当前的日志编号是12。
3.1.4 在主库上再建一个表,查看主备日志

create table zyy_tables as select * from dba_tables;
commit;
select count(*) from zyy_tables;

在这里插入图片描述
主库切换日志再次查看

alter system switch logfile;
select * from v$log;

在这里插入图片描述
由上图可以看到主库当前的日志编号是13。
查看备库归档日志应用情况:

select sequence#,applied,archived,deleted from v$archived_log order by sequence#;

在这里插入图片描述
由于备库关闭了归档日志实时同步,所以11,12号归档日志已经传到备库但没有应用。

3.1.5 主备库删除13号归档日志

cd /u01/app/archive
ls
rm 1_13_1165425165.arc

主库:
在这里插入图片描述
备库:
在这里插入图片描述
3.1.6 对主库进行ddl,查看主备日志

alter database recover managed standby database using current logfile disconnect;

在这里插入图片描述
主库进行ddl操作,并切换日志后查看主备库日志应用情况:

delete from zyy_test where id>18;
alter system switch logfile;
delete from zyy_test where id>15;
alter system switch logfile;
delete from zyy_test where id>14;
alter system switch logfile;
delete from zyy_test where id>12;
alter system switch logfile;
commit;
set linesize 999
select * from v$log;

主库:
在这里插入图片描述

select sequence#,applied,archived,deleted from v$archived_log order by sequence#;

备库:
在这里插入图片描述
由于主备库12号日志被删除,导致备库12号及以后的日志都无法应用。

3.1.7 查看主备库测试表信息

select count(*) from zyy_test;
select count(*) from zyy_tables;

主库:
在这里插入图片描述
备库:
在这里插入图片描述
由于备库缺少12号日志,导致主备库测试表信息不一致。

3.2 查看主库状态出现GAP

select name,open_mode,database_role,switchover_status from v$database;

在这里插入图片描述

四、RMAN增量备份恢复备库同步

4.1 RMAN增量恢复备库

4.1.1 取消备库实时同步

alter database recover managed standby database cancel;

4.1.2 确认备库数据文件头最小的SCN

select current_scn from v$database;
select min(checkpoint_change#) from v$datafile_header;

在这里插入图片描述
4.1.3 在主库进行增量备份

rman target/
backup  incremental  from  scn  2259313  database  format  '/home/oracle/backup/ForStandby_%U'  tag 
'FORSTANDBY';

4.1.4 将主库的备份文件传到备库
scp -r /home/oracle/backup/* oracle@192.168.80.39:/home/oracle/backup/
在这里插入图片描述
备库查看:

在这里插入图片描述
4.1.5 在备库注册备份片

rman target/
catalog start with '/home/oracle/backup/ForStandby';

在这里插入图片描述
4.1.6 在备库执行恢复
备库数据库启动到mount状态
rman target/
shutdown immediate
startup mount
recover database noredo;
在这里插入图片描述
4.1.7 在主库生成新的standby控制文件

backup current controlfile for standby format '/home/oracle/backup/ForStandbyCTRL.bck';

在这里插入图片描述
查看备库文件:
在这里插入图片描述
4.1.8 将主库生成的新standby控制文件传到备库

scp /home/oracle/backup/ForStandbyCTRL.bck oracle@192.168.80.39:/home/oracle/backup/

在这里插入图片描述
备库查看:
在这里插入图片描述
4.1.9 备份备库数据文件
备份备库数据文件信息,用于之后恢复新的standby控制文件后进行对比

spool datafile_names_p19cbak.txt;
set lines 200;
col name format a60;
select file#, name from v$datafile order by file#;
spool off;

在这里插入图片描述
4.1.10 在备库恢复新的standby 控制文件

rman target/
shutdown immediate;
startup nomount;  
restore standby controlfile from '/home/oracle/backup/ForStandbyCTRL.bck';

4.1.11 在备库更新控制文件中的数据文件
(注:如果主备库具有相同的目录和名字,此步骤可以省略。我这里主库数据文件位置是’/u01/app/oracle/oradata/P9C/’,备库是’/u01/app/oracle/oradata/P9C/’,应该是需要此步骤的,但不知道为什么后面4.1.13查看重命名数据文件时会报错。)

shutdown
startup mount
catalog start with '/u01/app/oracle/oradata/P19CSTD';

在这里插入图片描述
4.1.12 查看主库有没有添加新文件

select file#, name from v$datafile where creation_change# >2259312;

在这里插入图片描述
4.1.13 查看重命名数据文件
备库:

switch database to copy;

在这里插入图片描述
4.1.14确认增量恢复后,主备库的SCN号没有太大差距
select current_scn from v$database;
主库:
在这里插入图片描述
备库:
在这里插入图片描述

4.2 开启备库redo同步

4.2.1清理备库standby 日志组

set linesize 999;
col DBID for a20;
select * from v$standby_log
alter database clear logfile group 6;
alter database clear logfile group 7;
alter database clear logfile group 8;
alter database clear logfile group 9;

备库:
在这里插入图片描述
4.2.2备库启动redo应用

alter database recover managed standby database disconnect;

主库查看日志:

set linesize 999
select * from v$log;

在这里插入图片描述
备库:

select sequence#,applied,archived,deleted from v$archived_log order by sequence#;

在这里插入图片描述
(这里正常应该查到apply日志16号)
4.2.3备库开启实时应用

alter database recover managed standby database cancel;
alter database open;
alter database recover managed standby database using current logfile disconnect;

在这里插入图片描述
(这里备库打开日志实时应用还是查不到日志编号,后面主库切换日志后可以查到)
4.2.4 主库切换日志,主备库查看日志编号
主库切换日志

alter system switch logfile;

在这里插入图片描述
主库查看日志:
在这里插入图片描述
备库查看日志编号:
在这里插入图片描述
可以看到备库应该应用到17号日志。

4.3 主备库验证同步

select count(*) from zyy_test;
select count(*) from zyy_tables;

主库:
在这里插入图片描述
备库:
在这里插入图片描述
主库进行ddl操作,验证主备库:
主库:
在这里插入图片描述
备库:
在这里插入图片描述
主备恢复同步。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3267226.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Encountered 1 file(s) that should have been pointers, but weren‘t:

https://stackoverflow.com/questions/71236993/git-lfs-cannot-discard-file-changes-encountered-files-that-should-have-been-poi 这个答案works

mysql查询语句优化

目录 1.背景 2.解读explain 2.1.id详解 1.id相同 2.id不相同 3.id有相同也有不相同 2.2.select_type详解 1.SIMPLE 2.PRIMARY 3.DERIVED 4.SUBQUERY 5.DEPEDENT SUBQUERY 6.UNCACHEABLE SUBQUERY 7.UNION 8.UNION RESULT 2.3.table详解 2.4.type详解 1.system…

HarmonyOs之 路由简单跳转

Navigation路由相关的操作都是基于页面栈NavPathStack提供的方法进行,每个Navigation都需要创建并传入一个NavPathStack对象,用于管理页面。主要涉及页面跳转、页面返回、页面替换、页面删除、参数获取、路由拦截等功能。 Entry Component struct Index …

MySQL数据库练习(5)

1.建库建表 # 使用数据库 use mydb16_trigger;# 表格goods create table goods( gid char(8) primary key, name varchar(10), price decimal(8,2), num int);# 表格orders create table orders( oid int primary key auto_increment, gid char(10) not null, name varchar(10…

QtCreator和QtDesignStudio最佳实践

一、QTC和QDS工作流概述 很多初学者对 QDS(Qt Design Studio) 和 QTC(Qt Creator)如何配合经常存有疑问,本文介绍具体的工作流程。 工作流程 1.产品设计:通过PS、Figma、XD等专业工具设计页面视觉和原型。 2.QDS 原型制作:导入设计源文件、…

50.TFT_LCD液晶屏驱动设计与验证(3)

(1)数据生成模块Verilog代码: module data_gen(input [9:0] hang ,input [9:0] lie ,input clk_33M ,input reset_n ,output reg [23:0] data ); //定义最大行、列parameter …

数据结构篇4—递归实现二叉树基础结构

文章目录 前言🚩1、树?2、树的相关概念3、树的结构表示4、二叉树🚀、概念和结构🎁、特殊二叉树 5、二叉树常用性质6、二叉树的存储结构🧩、顺序存储结构🎨、链式存储结构 7、二叉树顺序结构的实现----堆8、…

m4a怎么转mp3?m4a转mp3的几种方法教程

m4a怎么转mp3?M4A音频格式的全称MPEG-4 Audio,是一种音频压缩格式。这种格式以其卓越的音质和相对较小的文件大小而广受欢迎,尤其是在音乐存储、在线流媒体以及音频编辑等领域。M4A格式被广泛应用于苹果公司的产品中,如iPhone、iP…

MDIO读写测试实验

目录 一.以太网 1.1以太网概述 1.2以太网的分类 1.3以太网的接口类型 1.4RJ45接口定义 1.5以太网连接图 二.MDIO接口 2.1MDIO概述 2.2MDIO接口连接图 2.3MDIO接口的帧格式 2.4MDIO 接口读时序图 2.5MDIO 接口写时序图 三.以太网 PHY 芯片(YT8531&#x…

SpringBoot中使用监听器

1.定义一个事件 /*** 定义事件* author hrui* date 2024/7/25 12:46*/ public class CustomEvent extends ApplicationEvent {private String message;public CustomEvent(Object source, String message) {super(source);this.message message;}public String getMessage() …

打包Linux的deb包

打包Linux的deb包 需事先准备 软件打包依赖 1. sudo apt update 2.sudo apt-get install dh-make build-essential devscripts debhelper 3.所需打包的源码包 准备打包目录 创建一个构建 deb 包的目录,目录以 包名-版本号 命名,如 testtest-pc:~/桌面$ …

PostgreSQL 数据库 安装

1、官网下载 起源与发展:PostgreSQL最初起源于加州大学伯克利分校的Postgres项目,该项目始于1986年,并一直演进到1994年。在1995年,Postgres项目增加了SQL翻译程序,并更名为Postgres95。随后,在1996年&…

【教程向】pyside2环境搭建以及快速上手

一、环境搭建 下载地址: https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 推荐使用的版本: Anaconda3-2020.02-Windows-x86_64.exe python3.6以上,好像最新的python也不太支持,所以推荐给的这个版本 安装pyside2 pip i…

鸿蒙应用框架开发【多HAP】程序框架

多HAP 介绍 本示例展示多HAP开发,简单介绍了多HAP的使用场景,应用包含了一个entry HAP和两个feature HAP,两个feature HAP分别提供了音频和视频播放组件,entry中使用了音频和视频播放组件。 三个模块需要安装三个hap包&#xff…

昇思25天学习打卡营第22天|CycleGAN图像风格迁移互换

相关知识 CycleGAN 循环生成网络,实现了在没有配对示例的情况下将图像从源域X转换到目标域Y的方法,应用于域迁移,也就是图像风格迁移。上章介绍了可以完成图像翻译任务的Pix2Pix,但是Pix2Pix的数据必须是成对的。CycleGAN中只需…

【计算机网络】静态路由实验

一:实验目的 1:掌握通过静态路由方法实现网络的连通性。 二:实验仪器设备及软件 硬件:RCMS-C服务器、网线、Windows 2019/2003操作系统的计算机等。 软件:记事本、WireShark、Chrome浏览器等。 三:实验方…

从零开始:在linux系统安装MongoDB数据完整指南 新手常用命令

1 前言 MongoDB 是为快速开发互联网应用而设计的数据库系统。MongoDB 的设计目标是极简、灵活、作为 Web 应用栈的一部分。MongoDB 的数据模型是面向文档的,所谓文档是一种类似于json的结构。 官网教程:https://www.mongodb.com/docs/manual/ 2 安装部…

【专题】逻辑代数基础

1. 基本概念 逻辑:事物间的因果关系。 逻辑运算:逻辑状态按照指定的某种因果关系继续推理的过程。 逻辑代数:描述客观事物逻辑关系的数学方法,又称布尔代数。 逻辑变量:逻辑代数中的变量。 二值逻辑中,…

解决win10家庭版找不到Hyper-V的问题

Windows 10家庭版在默认的“启用或关闭Windows功能”中不直接包含Hyper-V选项,但可以通过手动步骤来启用它。以下是详细的解决方案: 步骤一:检查电脑是否支持Hyper-V 首先,确认电脑硬件是否支持Hyper-V功能。 打开Windows Powe…