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

Oracle RAC+ADG switchover 切换演练流程

基于Oracle 12.1版本RAC+ADG环境,进行switchover切换演练。

switchover与failover区别

  • switchover
    switchover是有计划的进行数据库身份切换,不会破坏数据库,也不会有数据丢失。可以在容灾演练、停机维护场景中使用。
  • failover
    failover是非计划的进行数据库身份切换,会破坏数据库,也可能会丢失数据。可以在紧急情况下使用,切换后需要重做DG。

文章目录

  • 1、切换前准备
  • 2、检查DG同步情况
  • 3、主库切换至备库
  • 4、备库切换至主库
  • 5、启动MRP进程
  • 6、测试
  • 7、回切

1、切换前准备

前台业务停止运行,关闭与该数据库相关的所有应用服务。

2、检查DG同步情况

在备库执行下面的sql,查看主备是否有延迟。

col name for a30;
col value for a20;
col datum_time for a20;
select name,value,datum_time from v$dataguard_stats where name in ('transport lag','apply lag');

在备库执行下面的sql,查看归档日志有没有被被应用。

set lines 200
select 
thread#,
sequence#,
first_time,next_time,applied from v$archived_log where applied='NO';

3、主库切换至备库

3.1、关闭主库(RAC)第二节点数据库
Oracle数据库的主备切换只能在一个实例上进行,所以对于Oracle RAC,需要关闭一个实例,选择RAC的第二节点上实例进行关闭。
关闭命令:shutdown immediate

3.2、主库切换至备库
切换前先执行下面的命令检查主库情况。

col name for a15;
col open_mode for a20;
col protection_mode for a20;
col database_role for a20;
col switchover_status for a20;
set lines 200;
select name,open_mode,protection_mode,database_role,switchover_status from v$database;

这里分两种情况:

  • switchover_status输出是TO STANDBY,在RAC剩余的单节点上执行下面这条切换命令:
ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;
  • switchover_status输出是ACTIVE SESSION,在RAC剩余的单节点上执行下面这条切换命令:
ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN;

3.3、启动数据库
主库切换至备库后,当前数据库会自动关闭,需手动启动。同时,将3.1步骤关闭的RAC第二节点的实例,也启动起来。
启动数据库命令:startup

4、备库切换至主库

4.1、取消备库MRP进程

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

4.2、备库切换至主库

ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

备库切换至主库后,此时数据库(原备库)是MOUNTED状态,需要打开。

ALTER DATABASE OPEN;

5、启动MRP进程

在RAC(原主库)中第一节点的实例上启动MRP进程。

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

6、测试

此时数据库身份已经切换完毕,可以通知业务工程师连接新主库进行测试验证。也可以自己在新主库插入几条数据看数据是否正常同步。

7、回切

测试无误后,可以将数据库身份进行回切。

7.1、新主库切换回备库

ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;

切回备库后,数据库会关闭,此时需要手工启动。启动命令:startup。

7.2、新备库(RAC)取消MRP进程,并关闭其第二节点数据库

取消MRP进程操作只在新备库(RAC)中的第一节点上执行即可。

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

在取消MRP进程操作完成后,关闭新备库第二节点实例,关闭命令:shutdown immediate。

7.3、将新备库(RAC)切换回主库,并打开、启动数据库

ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

在新备库(RAC)第一节点完成切换回主库的操作后,第一节点的数据库会处于MOUNTED状态。所以此时需要手动打开第一节点数据库,并且启动第二节点的数据库。

7.4、在备库启动MRP进程

此时数据库身份回切已完成,需要在当前备库上启动MRP进程。

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

7.5、回切结束
此时,数据库身份回切结束,可以通知业务工程人员进行验证。验证无误后,Oracle RAC+ADG switchover 切换演练结束。

http://www.dtcms.com/a/292289.html

相关文章:

  • TDSQL
  • [08006][1033] ORA-01033: ORACLE 正在初始化或关闭--问题修复
  • 达梦数据库表字段增加时报错[-2106]:无效的表或视图名,[-2116]:列[IS_REPEAT]已存在
  • Python趣味算法:折半查找(二分查找)算法终极指南——原理、实现与优化
  • 人工智能——OpenCv基础
  • python如何生成 requirements.txt文件
  • Elasticsearch是什么?
  • 【论文阅读】Fast-BEV: A Fast and Strong Bird’s-Eye View Perception Baseline
  • 【AI学习从零至壹】Transformer
  • AI入门学习-特征工程
  • 钢铁之躯的智慧觉醒:Deepoc具身智能如何重塑工业机械臂的“工艺直觉”
  • 虚幻 5 与 3D 软件的协作:实时渲染,所见所得
  • ClearML库详解:从实验跟踪到模型部署的全流程管理
  • FPGA自学——存储器模型
  • 立式数控深孔钻的工艺及光学检测方法 —— 激光频率梳 3D 轮廓检测
  • C语言---VSCODE的C语言环境搭建
  • 腾讯研究院 | AI 浪潮中的中国品牌优势解码:华为、小米、大疆、科大讯飞等品牌从技术破壁到生态领跑的全维突围
  • 宽带丢包重传高优化
  • 论文笔记 | Beyond Pick-and-Place: Tackling Robotic Stacking of Diverse Shapes
  • 2025.7.25论文阅读
  • 基于AutoJawSegment项目的CBCT图像分割实践指南
  • ES--为什么没有完全删除?
  • 机器人氩弧焊保护气降成本的方法
  • KGF60N65KDF-U/H KEC:650V超级硅MOSFET,超低导通电阻+超快开关速 电源设计专用!
  • 基于Spark图计算的社会网络分析系统
  • 一款基于 WPF 开源、功能全面的串口调试工具
  • 刘强东突然重仓机器人赛道,京东连投3家机器人公司
  • n8n - 为技术团队提供安全的自动化工作流
  • 16:00开始面试,16:06就出来了,问的问题有点变态。。。
  • iOS WebView 调试实战 localStorage 与 sessionStorage 同步问题全流程排查