Oracle Data Guard常用命令
--查询数据库角色和保护模式
select database_role,switchover_status from v$database;
--切换备库为主库(切换后,主库为mount状态)
--TO PRIMARY
alter database commit to switchover to primary;
--SESSIONS ACTIVE
alter database commit to switchover to primary with session shutdown;
--切换主库为备库(切换后,备库为shutdown状态)
--TO STANDBY
alter database commit to switchover to physical standby;
--SESSIONS ACTIVE
alter database commit to switchover to physical standby with session shutdown;--查询数据库打开模式
select open_mode from v$database;
--开启数据同步(mount模式执行READ ONLY,open模式执行READ ONLY WITH APPLY)
alter database recover managed standby database using current logfile disconnect from session;
--关闭数据同步(必须先关闭,才可以执行alter database open打开数据库)
alter database recover managed standby database cancel;
--主库异常无法恢复时,异常切换时备库需执行下列命令
alter database recover managed standby database finish;
alter database recover managed standby database finish force;--查询数据库保护模式
select protection_mode from v$database;
--更改数据库保护模式
alter database set standby database to maximize protection; --最大保护
alter database set standby database to maximize performance; --最高性能
alter database set standby database to maximize availability; --最高可用
DataGuard角色切换 数据库切换状态
主库状态(switchover_status)
NOT ALLOWED:未找到备库。
TO STANDBY:当前主机已就绪,可切换为备机。
SESSIONS ACTIVE:当前主机存在活动会话,但也可切换为备机。
RESOLVABLE GAP:备库未开启数据同步,导致主备数据有差异。
备库状态(switchover_status)
NOT ALLOWED:主库还未执行switchover,不允许切换为主。
TO PRIMARY:当前备机已就绪,可切换为主机。
SESSIONS ACTIVE:当前备机存在活动会话,但页可切换为主机。
RECOVERY NEEDED:当前未开启数据同步。
正常切换(switchover)
主备切换
1.主库切换为备库,如下图:
--1.查询主库状态为TO STANDBY或SESSIONS ACTIVE
select database_role,switchover_status from v$database;
--2.切换主库角色为备库
alter database commit to switchover to physical standby;
alter database commit to switchover to physical standby with session shutdown;
--3.重启数据库到open模式
startup
--4.开启redo同步
alter database recover managed standby database using current logfile disconnect from session;
--5.查询数据库状态已经是TO PRIMARY(主库成功切换为备库)
select database_role,switchover_status from v$database;
--6.查询数据库打开模式为READ ONLY WITH APPLY(读写分离,redo实时同步)
select open_mode from v$database;
此时,主库已经切换为备库,下面可以在所有备库选择一个切换为主库。
2.备库切换为主库,如下图:
--1.查询备库状态为TO PRIMARY或SESSIONS ACTIVE
select database_role,switchover_status from v$database;
--2.切换备库角色为主库
alter database commit to switchover to primary;
alter database commit to switchover to primary with session shutdown;
--3.打开数据库(切换完后为mount状态)
alter database open;
--4.查询数据库状态为TO STANDBY(表示切换完成)
select database_role,switchover_status from v$database;
至此,正常切换完成,可在主库insert/update数据看是否实时可在备库中select到。
应急切换(failover)
1.模拟主库不可用,如下图,直接关闭主数据库:
shutdown immediate;
2. 切换备库为主库,如下图:
--1.查询备库状态NOT ALLOWED
select database_role,switchover_status from v$database;
--2.执行sql停止同步并应用所有redo
alter database recover managed standby database cancel;
alter database recover managed standby database finish;
--3.切换备库为主库
alter database commit to switchover to primary;
alter database commit to switchover to primary with session shutdown;
--4.打开数据库(切换完后为mount状态)
alter database open;
--5.查询数据库状态为TO STANDBY(表示切换完成)
select database_role,switchover_status from v$database;
至此,应急切换完成,备库可正常使用了。
3.若原主库故障解决,利用RMAN将主库恢复到备库。
相关文章:

Oracle Data Guard常用命令
--查询数据库角色和保护模式 select database_role,switchover_status from v$database; --切换备库为主库(切换后,主库为mount状态) --TO PRIMARY alter database commit to switchover to primary; --SESSIONS ACTIVE alter database comm…...

IM系统设计之websocket消息转发
Websocket消息转发 项目地址:gitgithub.com:muyixiaoxi/Link.git 上周面试被面试官问到:“在分布式IM系统中,如何实现多个websocket集群之间的通信”。 我在思考了良久后回答:“不会”。 随着我的回答,我和面试官的…...
关于vue 的生命周期的教程
Vue.js 是一款流行的前端框架,它提供了丰富的功能和便捷的开发式, 其中生命周期函数是 Vue 组件中非常重要的一部分。 本文将为您详细介绍 Vue 组件的生命周期函数及其执行顺序, 帮助您更好地理解和利用 Vue.js 框架。 什么是 Vue 生命周期 …...

STM32 CAN的工作模式
STM32 CAN的工作模式 正常模式 正常模式下就是一个正常的CAN节点,可以向总线发送数据和接收数据。 静默模式 静默模式下,它自己的输出端的逻辑0数据会直接传输到它自己的输入端,逻辑1可以被发送到总线,所以它不能向总线发送显性…...
Java中的常用类之Math类
Java中的Math类 一、Math类是什么?二、主要方法1.随机数2.绝对值3.向上取值4.向下取值5.四舍五入6.两个值中取大/小的 总结 一、Math类是什么? Math类是Java常用类的一种,主要方法针对于数学方面的运算,类中的所有方法都是static…...
Android冷启动优化
一、应用启动的三种状态 冷启动:系统不存在App进程(APP首次启动或APP被完全杀死)时启动APP,此时,APP的启动将经历两个阶段: 1、创建app进程:系统启动应用程序进程和虚拟机,创建app…...

jmeter之接口功能自动化
一、接口测试简述 接口:用来连接前端,后端还有移动端的程序模块。由于不同端的工作进度不一样,需要对最开始出来的接口进行接口测试。 接口分类:POST,GET,PUT,DELETE。 POST请求的数据是放在…...
【openGL4.x手册07】几何着色器
目录 一、说明二、关于几何着色器三、原始输入/输出规范3.1 实例 四、输入五、输出5.1 分层渲染 六、输出限制 一、说明 几何着色器对于渲染管线设计是一个新生事物;目前对应于几何着色器的资料不多,并且说法不一,因此如何用几何着色器&…...

鸿蒙OpenHarmony开发实战:【MiniCanvas】
介绍 基于OpenHarmony的Cavas组件封装了一版极简操作的MiniCanvas,屏蔽了原有Canvas内部复杂的调用流程,支持一个API就可以实现相应的绘制能力,该库还在继续完善中,也欢迎PR。 使用说明 添加MiniCanvas依赖 在项目entry目录执行…...

【JavaEE初阶系列】——单例模式 (“饿汉模式“和“懒汉模式“以及解决线程安全问题)
目录 🚩单例模式 🎈饿汉模式 🎈懒汉模式 ❗线程安全问题 📝加锁 📝执行效率提高 📝指令重排序 🍭总结 单例模式,非常经典的设计模式,也是一个重要的学科&#x…...
flutter-elinux的基本介绍及安装调试
搜集到两个很有用的网站: 1、flutter-elinux的基本介绍:https://juejin.cn/post/7257285697383612453 2、flutter-elinux的安装调试等:https://github.com/sony/flutter-elinux/wiki 其中,在flutter-elinux设置环境变量时&#…...

二分查找法总结
目录 1、思路讲解(LC704)2、代码思路讲解(循环不变量)(1) 左闭右闭(2)左闭右开(3)总结:左开右闭和左闭右开(4)复杂度分析 …...

Python工具-清理Unity(批量深度)清理U3D项目工程保留关键工程文件
前沿 1. Unity工程越来越多,很久不用的工程里存在了很多无用的大文件夹,极大的影响电脑容量。 2. 我电脑里面U3D工程只有17个,但容量就高达60GB,使用自己编写的工具清理后,减到了30GB多。清理了不是很重要的文件和文件…...

vue 安装脚手架报错 certificate has expired
vue 安装脚手架的时候报错,报错信息如下: 错误信息:npm ERR! request to https://registry.npm.taobao.org/vue%2fcli failed, reason: certificate has expired 翻译:npm ERR!请求到https://registry.npm.taobao.org…...
使用 Python 快速开始机器学习
🔗 快速开始 PyTorch|使用 Python 建立深度学习模型 认识 PyTorch 1.1 Torch 与 PyTorch 1.2 安装 PyTorch 1.3 验证安装并查看 PyTorch 版本PyTorch 深度学习模型的建立范式 2.1 准备数据 2.2 定义模型 2.3 训练模型 2.4 评估模型 2.5 做出预测为预测任…...

CCDP.02.OS正确部署后的Dashboard摘图说明
前言 在部署成功OpenStack后,应该可以在浏览器打开Dashboard,并对计算资源(这里主要是指VM)进行管理,也可以在Dashboard上面查看OpenStack是否存在错误,下面,已针对检查的关键点,用红…...

【计算机视觉】Gaussian Splatting源码解读补充(二)
第一部分 本文是对学习笔记之——3D Gaussian Splatting源码解读的补充,并订正了一些错误。 目录 三、相机相关scene/cameras.py:class Camera 四、前向传播(渲染):submodules/diff-gaussian-rasterization/cuda_rast…...
Java transient 关键字
Java字段不想序列化怎么办 在 Java 中,如果某个字段不想被序列化(即不希望被写入到序列化的数据流中),可以使用 transient 关键字进行标记。通过在字段前加上 transient 关键字,可以告诉 Java 序列化机制忽略该字段&am…...
前端工程化(三)邂逅Webpack和打包过程
目录 Vue项目加载Webpack 安装Webpack的默认打包创建局部的 webpack Vue项目加载 JavaScript的打包: 将ES6转换成ES5的语法; TypeScript的处理,将其转换成JavaScript; Css的处理: CSS文件模块的加载、提取&a…...

Gradle v8.5 笔记 - 从入门到进阶(基于 Kotlin DSL)
目录 一、前置说明 二、Gradle 启动! 2.1、安装 2.2、初始化项目 2.3、gradle 项目目录介绍 2.4、Gradle 项目下载慢?(万能解决办法) 2.5、Gradle 常用命令 2.6、项目构建流程 2.7、设置文件(settings.gradle…...

手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...

基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...

第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10+pip3.10)
第一篇:Liunx环境下搭建PaddlePaddle 3.0基础环境(Liunx Centos8.5安装Python3.10pip3.10) 一:前言二:安装编译依赖二:安装Python3.10三:安装PIP3.10四:安装Paddlepaddle基础框架4.1…...