当前位置: 首页 > news >正文

Data Guard高级玩法:failover备库后,通过闪回恢复DG备库

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)
公众号:老苏畅谈运维
欢迎关注本人公众号,更多精彩与您分享。

为了能够在failover后能够恢复DG,需要在备库上开启flashback,如果不开启flashback的话,DG就要重新搭建。当然这也可以作为灾难演练一种方式,就是希望在备库上做一下演练工作,
而这个演练又不会想影响到目前的主库,而且能够尽可能模拟真实的情况。

一、开启Flashback Database

1、使用Flashback Database的前提条件

1)启用了flashback database
2)必须打开flash recovery area,若为RAC,flash recovery area必须位于共享存储中。
3)必须处于archivelog模式,开启FORCE LOGGING

2、开启Flashback Database步骤

以下步骤在备库执行:

1)验证是否启用了flashback database并确认FORCE LOGGIN是否开启
SQL> select flashback_on,force_logging from v$database;FLASHBACK_ON       FORCE_LOGGING
------------------ ---------------------------------------
NO           YES2)若flashback_on为"NO",请开启flashback database,具体步骤如下:
SQL> ALTER SYSTEM SET db_recovery_file_dest_size=5g SCOPE=BOTH;
SQL> ALTER SYSTEM SET db_recovery_file_dest='/u01/app/oracle/fast_recovery_area' SCOPE=BOTH;
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database flashback on;
SQL> alter database open;
SQL> alter database force logging;

在这里插入图片描述

3、确认数据库可以前滚到的SCN和Time的方法

SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';Session altered.SQL> select oldest_flashback_scn,oldest_flashback_time from v$flashback_database_log;OLDEST_FLASHBACK_SCN OLDEST_FLASHBACK_TI
-------------------- -------------------3012239 2024-07-10 16:56:11

二、DG备库failover操作

备库执行failover操作:

sys@ORA11G> alter database recover managed standby database cancel;Database altered.sys@ORA11G> alter database recover managed standby database finish force;Database altered.sys@ORA11G> select database_role from v$database;DATABASE_ROLE
----------------
PHYSICAL STANDBYsys@ORA11G> alter database commit to switchover to primary;Database altered.sys@ORA11G> alter database open;Database altered.sys@ORA11G> select name,open_mode, database_role, switchover_status, force_logging, dataguard_broker, guard_status from v$database;
NAME	   OPEN_MODE		DATABASE_ROLE	 SWITCHOVER_STATUS    FOR DATAGUAR GUARD_S
---------- -------------------- ---------------- -------------------- --- -------- -------
ORA11G	   READ WRITE		PRIMARY 	 FAILED DESTINATION   YES DISABLED NONE

进行数据读写测试

sys@ORA11G>  create table tt(id int,name varchar2(10));Table created.sys@ORA11G> insert into tt values (1,'AA');   1 row created.sys@ORA11G> insert into tt values (2,'BB');1 row created.sys@ORA11G> commit;Commit complete.sys@ORA11G> select * from tt;ID NAME
---------- ----------1 AA2 BB

三、利用flashback database重建DG

–在新的主库(原备库)上执行下面操作:

SQL> select to_char(standby_became_primary_scn) from v$database;
TO_CHAR(STANDBY_BECAME_PRIMARY_SCN)
----------------------------------------
3013053
SQL> shutdown immediate;
SQL> startup mount;      
SQL> flashback database to scn 3013053;              //这个值为在新主库上查询到的SCN值
SQL> select name,open_mode, database_role, switchover_status, force_logging, dataguard_broker, guard_status from v$database;NAME		OPEN_MODE	     DATABASE_ROLE    SWITCHOVER_STATUS    FOR DATAGUAR GUARD_S
--------------- -------------------- ---------------- -------------------- --- -------- -------
ORA11G		MOUNTED 	     PRIMARY	      NOT ALLOWED	   YES DISABLED NONE
SQL> alter database convert to physical standby;
SQL> shutdown immediate
SQL> startup
SQL> select name,open_mode, database_role, switchover_status, force_logging, dataguard_broker, guard_status from v$database;sys@ORA11G> sys@ORA11G> NAME		OPEN_MODE	     DATABASE_ROLE    SWITCHOVER_STATUS    FOR DATAGUAR GUARD_S
--------------- -------------------- ---------------- -------------------- --- -------- -------
ORA11G		READ ONLY	     PHYSICAL STANDBY RECOVERY NEEDED	   YES DISABLED NONE
SQL> alter database recover managed standby database using current logfile disconnect from session;

验证备库同步正常,继续接受主库日志。
在这里插入图片描述

关注我,学习更多的数据库知识
请添加图片描述

相关文章:

Data Guard高级玩法:failover备库后,通过闪回恢复DG备库

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等) 公众号:老苏畅谈运维 欢迎关注本人公众号,更多精彩与您分享…...

【Unity2D 2022:NPC】制作任务系统

一、接受任务 1. 编辑NPC对话脚本: (1)创建静态布尔变量用来判断ruby是否接受到任务 public class NPCDialog : MonoBehaviour {// 创建全局变量用来判断ruby是否接到任务public static bool receiveTask false; } (2&#xff…...

【C++深度学习】多态(概念虚函数抽象类)

✨ 疏影横斜水清浅,暗香浮动月黄昏 🌏 📃个人主页:island1314 🔥个人专栏:C学习 🚀 欢迎关注:👍点赞 &…...

Ubuntu 安装CGAL

一、什么是CGAL CGAL(Computational Geometry Algorithms Library)是一个广泛使用的开源库,主要用于计算几何算法的实现。该库提供了一系列高效、可靠和易于使用的几何算法和数据结构,适用于各种应用领域。以下是 CGAL 的主要功能…...

RK3568平台开发系列讲解(网络篇)netfilter框架

🚀返回专栏总目录 文章目录 一、Netfilter 介绍二、netfilter 简单案例三、防火墙功能一、Netfilter 介绍 Linux内核自2.4版本开始引入了Netfilter框架,这是一项重要的网络功能增强。Netfilter框架由Linux内核防火墙和网络维护者 Rusty Russell 所提出和实现。这个作者还基于…...

检测音视频文件的声压

FFmpeg使用 ebur128 滤镜检测声压,EBU R128 是欧洲广播联盟(European Broadcasting Union,简称 EBU)推荐的音频响度测量和归一化标准。 ffmpeg -i input_video.mp4 -filter_complex ebur128peaktrue -f null --f null -&#xff…...

计算机网络-HTTP常见面试题

目录 1. HTTP是什么?2. HTTP常见的状态码?3. HTTP 常见的字段有哪些?4. GET和POST有什么区别:5. GET 和POST方法都是安全和幂等的吗?6. HTTP缓存技术7. HTTP/1.1相比HTTP/1.0提高了什么性能?8. HTTP/2做了什…...

LNMP搭建Discuz和Wordpress

1、LNMP L:linux操作系统 N:nginx展示前端页面web服务 M:mysql数据库,保存用户和密码,以及论坛相关的内容 P:php动态请求转发的中间件 数据库的作用: 登录时验证用户名和密码 创建用户和密码 发布和…...

java中的构造器

Java 中的构造器(也称为构造方法)是一种特殊的方法,用于初始化对象的状态。在创建 Java 类的实例时,构造器会被自动调用。 构造器的定义: 构造器的名称必须与类名完全相同。构造器没有返回值类型,甚至不包括…...

机器学习筑基篇,​Ubuntu 24.04 快速安装 PyCharm IDE 工具,无需激活!

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ] Ubuntu 24.04 快速安装 PyCharm IDE 工具 描述:虽然在之前我们安装了VScode,但是其对于使用Python来写大型项目以及各类配置还是比较复杂的,所以这里我们还是推…...

从0开始基于transformer进行股价预测(pytorch版本)

目录 数据阶段两个问题开始利用我们的代码进行切分 backbone网络训练效果 感觉还行,没有调参数。源码比较长,如果需要我后续会发(因为太长了!!) 数据阶段 !!!注意&#…...

【多GPU训练方法】

一、数据并行 这是最常用的方法。整个模型复制到每个GPU上。训练数据被均匀分割,每个GPU处理一部分数据。所有GPU上的梯度被收集并求平均。通常使用NCCL(NVIDIA Collective Communications Library)等通信库实现。参数更新 使用同步后的梯度…...

2024年PMP考试备考经验分享

PMP是项目管理领域最重要的认证之一,本身是IT行业比较流行的证书,近几年在临床试验领域也渐渐流行起来,是我周围临床项PM几乎人手一个的证书。 考试时间:PMP认证考试形式为180道选择题,考试时间为3小时50分。 考试计划&#xff…...

MT3046 愤怒的象棚

思路: a[]存愤怒值;b[i]存以i结尾的,窗口里的最大值;c[i]存以i结尾的,窗口里面包含✳的最大值。 (✳为新大象的位置) 例:1 2 3 4 ✳ 5 6 7 8 9 则ans的计算公式b3b4c4c5c6b7b8b9…...

深入了解代理IP常见协议:区别与选择

代理服务器在网络使用中扮演着重要的角色,是您设备和互联网之间的中间层。它不仅可以增强网络访问的安全性和隐私保护,还可以提供许多灵活的应用。使用代理时,不同的协议类型对数据交换具有不同的规则和特征。常见的代理协议包括HTTP代理、HT…...

【Linux 线程】线程的基本概念、LWP的理解

文章目录 一、ps -L 指令🍎二、线程控制 一、ps -L 指令🍎 🐧 使用 ps -L 命令查看轻量级进程信息;🐧 pthread_self() 用于获取用户态线程的 tid,而并非轻量级进程ID;🐧 getpid() 用…...

Dify中的工具

Dify中的工具分为内置工具(硬编码)和第三方工具(OpenAPI Swagger/ChatGPT Plugin)。工具可被Workflow(工作流)和Agent使用,当然Workflow也可被发布为工具,这样Workflow(工…...

在Visutal Studio 2022中完成D3D12初始化

在Visutal Studio 2022中完成DirectX设备初始化 1 DirectX121.1 DirectX 简介1.2 DirectX SDK安装2 D3D12初始化2.1 创建Windwos桌面项目2.2 修改符合模式2.3 下载d3dx12.h文件2.4 创建一个异常类D3DException,定义抛出异常实例的宏ThrowIfFailed3 D3D12的初始化步骤3.1 初始化…...

MobaXterm工具

MobaXterm 是一个增强型的 Windows 终端。其为 Windows 桌面提供所有重要的远程网络终端工具(如 SSH、X11、RDP、VNC、FTP、SFTP、Telnet、Serial、Mosh、WSL 等),和 Unix 命令(如 bash、ls、cat、sed、grep、awk、rsync 等&#…...

二分图练习

对于二分图我们可以用染色法 #include<bits/stdc.h> using namespace std;#define int long long const int N 2e65; int e[N],ne[N],h[N],idx 0; int colo[N]; int num 0;void add(int x,int y){e[idx] y;ne[idx] h[x];h[x] idx; } void dfs(int nod,int c){colo…...

OpenClaw文件处理自动化:nanobot轻量模型实战案例

OpenClaw文件处理自动化&#xff1a;nanobot轻量模型实战案例 1. 为什么选择nanobot处理文件自动化 作为一个长期被各种文件整理工作困扰的技术写作者&#xff0c;我一直在寻找一个既轻量又智能的自动化解决方案。直到遇到OpenClaw框架下的nanobot镜像&#xff0c;这个内置Qw…...

智能家居控制中心:OpenClaw桥接Qwen3-32B-Chat与HomeAssistant

智能家居控制中心&#xff1a;OpenClaw桥接Qwen3-32B-Chat与HomeAssistant 1. 为什么需要AI驱动的家居控制中心 去年冬天的一个深夜&#xff0c;我被空调异常制热的噪音惊醒。摸黑在手机APP上反复调整参数无果后&#xff0c;突然意识到&#xff1a;如果有个能理解自然语言的智…...

OpenClaw技能调试:GLM-4.7-Flash功能开发排错指南

OpenClaw技能调试&#xff1a;GLM-4.7-Flash功能开发排错指南 1. 为什么需要关注技能调试 上周我在为团队开发一个基于GLM-4.7-Flash的自动化周报生成技能时&#xff0c;遇到了一个棘手的问题&#xff1a;技能在本地测试时运行完美&#xff0c;但部署到OpenClaw后却频繁超时。…...

比亚迪多款新车激光雷达性能超越华为:千线级感知开启智驾新纪元

2026年,中国智能驾驶行业正式进入“千线级激光雷达”时代。继华为发布896线双光路激光雷达后,比亚迪携速腾聚创EM4数字化激光雷达强势反击,以1080线物理扫描、600米最远探测的硬核参数,在核心感知硬件上实现对华为的全面超越。这一突破不仅标志着比亚迪补齐了智能化短板,更…...

Kook Zimage真实幻想Turbo部署教程:OpenStack私有云中幻想图生成服务弹性伸缩方案

Kook Zimage真实幻想Turbo部署教程&#xff1a;OpenStack私有云中幻想图生成服务弹性伸缩方案 1. 项目概述 Kook Zimage真实幻想Turbo是一款专为个人GPU环境优化的幻想风格文生图系统。基于Z-Image-Turbo极速推理架构&#xff0c;通过深度整合专属幻想模型权重&#xff0c;实…...

STC15W4K32S4寄存器操作避坑指南:为什么你的PWM输出异常?(附完整初始化流程图)

STC15W4K32S4寄存器操作避坑指南&#xff1a;为什么你的PWM输出异常&#xff1f; 最近在调试STC15W4K32S4的PWM功能时&#xff0c;发现不少开发者都会遇到一些共性问题&#xff1a;明明按照手册配置了寄存器&#xff0c;PWM输出就是不稳定或者干脆没有波形。这些问题往往源于几…...

Unity游戏翻译神器XUnity.AutoTranslator全攻略:从入门到精通

Unity游戏翻译神器XUnity.AutoTranslator全攻略&#xff1a;从入门到精通 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 问题导入&#xff1a;当游戏语言成为体验障碍 你是否曾遇到这样的困境&#xff…...

若依前后端分离系统生产环境部署:从零到上线的保姆级教程

若依前后端分离系统生产环境部署实战指南 引言&#xff1a;为什么选择若依框架&#xff1f; 对于刚接触企业级开发的新手来说&#xff0c;若依(RuoYi)框架无疑是一个绝佳的起点。这个基于Spring Boot和Vue.js的前后端分离架构&#xff0c;不仅提供了完善的权限管理、代码生成等…...

用Node.js和request-promise玩转EduCoder API:手把手教你搭建自己的实训答案库

用Node.js构建EduCoder实训数据采集系统的工程实践 在编程教育平台EduCoder上&#xff0c;实训关卡的设计往往需要学习者反复尝试和验证。作为开发者&#xff0c;我们能否通过技术手段实现实训数据的自动化采集与管理&#xff1f;本文将深入探讨如何基于Node.js生态构建一个稳定…...

ReplaceItems.jsx:Adobe Illustrator批量对象替换的终极解决方案

ReplaceItems.jsx&#xff1a;Adobe Illustrator批量对象替换的终极解决方案 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 还在为Illustrator中重复的替换操作而烦恼吗&#xff1…...