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

news2024/9/22 13:37:01

文章目录

  • 一、说明
  • 二、环境信息
    • 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://www.coloradmin.cn/o/1947876.html

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

相关文章

C++图书管理系统

目录 实现功能 用户管理 图书管理 借阅与归还 未归还图书 部分效果图 结构体 Book 结构体 User 结构体 源代码 编译时在连接器命令行加入 完整代码 实现功能 用户管理 添加用户:输入用户ID、用户名和密码…

简单的git分支mergepush权限设定

简单的git分支merge&push权限设定 1. 需求 公司的分支很多,主要的有master分支,很多的业务需求分支,开发测试分支(uat,uat2,sit,sit2),这些分支当前是谁都可以进行提交,但是如果在分支上直接修改,或者…

3.1、数据结构-线性表

数据结构 数据结构线性结构线性表顺序存储和链式存储区别单链表的插入和删除练习题 栈和队列练习题 串(了解) 数据结构 数据结构该章节非常重要,上午每年都会考10-12分选择题下午一个大题 什么叫数据结构?我们首先来理解一下什…

如何查找下载安装安卓APK历史版本?

在安卓设备上,有时候我们可能希望安装某个软件的旧版本,可能是因为新版本不兼容、功能改变不符合需求或是其他原因。 安卓系统并不像iOS那样提供直观的历史版本下载界面。 不过,通过一些第三方市场和网站,我们仍然可以找到并安装…

通信原理实验六:实验测验

实验六 实验测验 一:测验内容和要求 测试需要完成以下几个步骤: 配置好以下网络图;占总分10%(缺少一个扣一分)根据下面图配置好对应的IP和网关以及路由等相关配置,保证设备之间连通正常;占总…

数据结构经典测试题4

1. #include <stdio.h> int main() { char *str[3] {"stra", "strb", "strc"}; char *p str[0]; int i 0; while(i < 3) { printf("%s ",p); i; } return 0; }上述代码运行结果是什么&#xff1f; A: stra strb strc B: s…

前端面试宝典【Javascript篇】【2】

欢迎来到《前端面试宝典》&#xff0c;这里是你通往互联网大厂的专属通道&#xff0c;专为渴望在前端领域大放异彩的你量身定制。通过本专栏的学习&#xff0c;无论是一线大厂还是初创企业的面试&#xff0c;都能自信满满地展现你的实力。 核心特色&#xff1a; 独家实战案例…

Flink之重启策略

目录 1、固定延迟重启策略 2、失败率重启策略 3、不重启策略 在设置完 CheckPoint() 检查点机制后&#xff0c;不设置重启策略的话&#xff0c;&#xff0c;可以无限重启程序&#xff0c;那么设置的检查点机制也就没有什么意义了。因此&#xff0c;在生产实践中&#xff0c;…

笔记本检测工具 | 爱回收笔记本质检系统 v1.9.6

软件简介 爱回收笔记本质检系统是一款专为笔记本电脑硬件检测而设计的软件。它以其快速的检测速度、简便的操作流程和直观的检测结果&#xff0c;为用户提供了一种高效、易懂的硬件检测解决方案。 这款软件不仅适用于对电脑硬件有一定了解的用户&#xff0c;也特别适合对硬件…

Sentinel隔离、降级、授权规则详解

文章目录 Feign整合Sentinel线程隔离熔断降级授权规则自定义异常结果 上一期教程讲解了 Sentinel 的限流规则&#xff1a; Sentinel限流规则&#xff0c;这一期主要讲述 Sentinel 的 隔离、降级和授权规则 虽然限流可以尽量避免因高并发而引起的服务故障&#xff0c;但服务还…

【玩转C语言】第五讲--->数组-->一维和多维深度理解

&#x1f525;博客主页&#x1f525;&#xff1a;【 坊钰_CSDN博客 】 欢迎各位点赞&#x1f44d;评论✍收藏⭐ 引言&#xff1a; 大家好&#xff0c;我是坊钰&#xff0c;为了让大家深入了解C语言&#xff0c;我开创了【玩转C语言系列】&#xff0c;将为大家介绍C语言相关知识…

你还在为文件翻译烦恼吗?试试这四款神器,轻松搞定一切!

现如今的信息传播速度不断得加快&#xff0c;无论是中外交流还是学习&#xff0c;也越来越多小语种出现在我们的工作和生活当中来了&#xff0c;其中不伐一些文件批量的形式&#xff0c;所以今天就具体来探讨一下&#xff0c;关于文件翻译的四款辅助工具&#xff1a; 一、福昕在…

openGauss触发器详解

openGauss 是一款开源关系型数据库管理系统&#xff0c;广泛应用于企业级应用中。随着数据量的增长和业务逻辑的复杂化&#xff0c;数据库管理和操作的自动化需求越来越高。触发器&#xff08;Triggers&#xff09;作为数据库中重要的编程工具&#xff0c;能够极大地简化复杂操…

广州机房服务器搬迁布线方案

友力科技&#xff08;广州&#xff09;有限公司&#xff0c;专业从事数据中心机房建设、改造和搬迁工程。友力科技&#xff08;广州&#xff09;有限公司提供的服务内容包括但不限于&#xff1a;原数据中心设备下架准备、沿途运输、新数据中心上架运行、数据迁移等。 友力科技…

前端面试细节重难点(十二)(已工作|做分享)

1、如何区分在react、vue和js中的是否传递e参数&#xff1f;事件对象e都要通过event作为实参显示传递形参才可接收到吗&#xff1f; 答&#xff1a;&#xff08;1&#xff09;在原生JavaScript中&#xff1a;事件对象e需要通过函数参数显式传递。 &#xff08;2&#xff09;在R…

观测云加入华为云「新加坡云联盟」,引领亚太创新潮流

7月19日&#xff0c;「新加坡云联盟」在华为云新加坡峰会2024上正式宣告成立。这一创新的联合不仅是新加坡乃至整个亚太地区云服务领域的重要里程碑&#xff0c;更是全球数字化转型进程中的关键一步。 观测云作为联盟的首批成员之一&#xff0c;在成立仪式上精彩亮相&#xff0…

探索能源管理体系认证的意义与实施

能源管理体系&#xff08;Energy Management System, EnMS&#xff09;是一个综合性的框架&#xff0c;旨在帮助企业系统地管理能源使用&#xff0c;提升能源效率&#xff0c;实现可持续发展的目标。这个体系包括了企业的组织结构、职责分配、惯例、程序、过程以及资源管理。通…

Linux中为qt添加opencv

一. 安装OpenCV库&#xff1a; 打开终端&#xff0c;输入以下命令安装OpenCV&#xff1a; sudo apt-get update sudo apt-get install libopencv-dev二. 配置Qt项目 在Qt Creator中打开项目&#xff0c;然后编辑.pro文件&#xff0c;添加以下内容&#xff1a; INCLUDEPATH …

2024年必备的9大CRM工具选购指南

本文介绍的工具有&#xff1a;纷享销客、Zoho CRM、八百客、红圈通、简道云、简信CRM、Salesforce、HubSpot CRM、Apptivo。 在选择合适的CRM系统时&#xff0c;许多企业面临着功能繁多、选择困难的痛点。对于中小企业来说&#xff0c;找到一个既能提高客户关系管理效率&#x…

Java基础-Java多线程机制

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 一、引言 二、多线程的基本概念 1. 线程与进程 2. 多线程与并发 3. 多线程的优势 三、Java多线程的实…