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

oracle主备切换参考

主备正常切换操作参考:RAC两节点->单机

(rac和单机的操作区别:就是关闭其它节点,剩一个节点操作即可) 

1.主库准备

检查状态

SQL> select inst_id,database_role,OPEN_MODE from  gv$database;

   INST_ID DATABASE_ROLE    OPEN_MODE

---------- ---------------- --------------------

         2 PRIMARY          READ WRITE

         1 PRIMARY          READ WRITE

停掉一个实例:

[oracle@tyzfdb02 ~]$ srvctl stop instance -d tyzfdb -i tyzfdb2

SQL> select inst_id,database_role,OPEN_MODE from  gv$database;

   INST_ID DATABASE_ROLE    OPEN_MODE

---------- ---------------- --------------------

         1 PRIMARY          READ WRITE

2.备库准备

SQL> select inst_id,database_role,OPEN_MODE from  gv$database;

   INST_ID DATABASE_ROLE    OPEN_MODE

---------- ---------------- --------------------

         1 PHYSICAL STANDBY READ ONLY WITH APPLY

--取消备库日志应用: --可选

--SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

--继续应用日志: --可选

--SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;

3.主库切换日志:

主库切换日志,观察备库alert是否正常同步

--主库

SQL> alter system switch logfile;

System altered.

SQL> /

System altered.

4.备库确认同步正常

[oracle@adg trace]$ tail -f alert_tyzfdb.log

Tue Jun 25 15:35:27 2013

Media Recovery Waiting for thread 2 sequence 1630 (in transit)

Recovery of Online Redo Log: Thread 2 Group 72 Seq 1630 Reading mem 0

  Mem# 0: +DATA/tyzfdb_adg/onlinelog/group_72.1575.818724653

Tue Jun 25 15:35:30 2013

Archived Log entry 4890 added for thread 2 sequence 1629 ID 0x3545ffea dest 1:

上述信息Recovery of Online表示主备日志传输应用正常

5.主库切换

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS

--------------------

TO STANDBY

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO STANDBY WITH SESSION SHUTDOWN;

6.备库切换

SQL> SELECT SWITCHOVER_STATUS FROM V$DATABASE;

SWITCHOVER_STATUS

--------------------

TO PRIMARY

SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

SQL> ALTER DATABASE OPEN;

SQL> select inst_id,database_role,OPEN_MODE from  gv$database;

7.继续处理主库变成备库:

SQL> shutdown immediate

ORA-01092: ORACLE instance terminated. Disconnection forced

SQL> exit

[oracle@tyzfdb01 ogg]$ sqlplus / as sysdba

SQL> startup mount

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE cancel;

SQL> alter database open;

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;

8.主库启动节点2

[oracle@tyzfdb01 ~]$ srvctl start instance -d tyzfdb -i tyzfdb2

9.相关参考:

Performing Role Transitions Using Old Syntax
11G RAC TO 11G RAC ADG SWITCHOVER
19c ADG Switchover 切换测试 - AlfredZhao - 博客园
一条命令进行19C ADG主备切换 - 墨天轮

19c adg参考:

环境未配置DG Broker,手工切换ADG,19c也要比11g时代的切换更简单。
使用自己的测试环境,具体可参见: 
单实例Primary快速搭建Standby RAC参考手册(19.16 ADG)

1.主库demo切换到RAC环境demorac:

在主库demo执行命令:

SQL>

alter database switchover to demorac verify;

alter database switchover to demorac;

执行命令之后,原主库demo将会关闭,原备库demorac会重新启动到mount状态,且变成新主库角色;

此时需要手工在新主库demorac上执行命令:

SQL>

alter database open;

打开数据库。

然后手工将原主库demo进行startup,承担新备库角色,并开启实时应用:

SQL>

startup

recover managed standby database disconnect;

注意:19c ADG 在未配置DG Broker的情况下,也很简单实现了主备角色互换,只需手工处理下开库的动作。
此外,与11g ADG不同,现在MRP进程默认就是开启实时应用(前提是准备工作做好),也就是说:

备库MRP实时开启默认无需指定 using current logfile 关键字。
默认即是,如果不想实时,指定 
using archived logfile 关键字。

2.主库demorac切换回单实例环境demo:

主要就是指向的db_unique_name更改,其他操作都一样。

在主库demorac执行命令:

SQL>

alter database switchover to demo verify;

alter database switchover to demo;

执行命令之后,原主库demorac将会关闭,原备库demo会重新启动到mount状态,且变成新主库角色;

此时需要手工在新主库demo上执行命令:

SQL>

alter database open;

打开数据库。

然后手工将原主库demorac进行startup,承担新备库角色,并开启实时应用:

[oracle@db01rac1 ~]$

srvctl start database -d demorac

SQL>recover managed standby database disconnect;

http://www.lryc.cn/news/2378339.html

相关文章:

  • Java大师成长计划之第25天:Spring生态与微服务架构之容错与断路器模式
  • 【ARM】MDK如何将变量存储到指定内存地址
  • Unity3D仿星露谷物语开发44之收集农作物
  • langchain—chatchat
  • 经典算法 求C(N, K) % mod,保证mod是质数
  • 【LeetCode 热题 100】二叉树的最大深度 / 翻转二叉树 / 二叉树的直径 / 验证二叉搜索树
  • 关于软件测试开发的一些有趣的知识
  • uni-app 开发HarmonyOS的鸿蒙影视项目分享:从实战案例到开源后台
  • 售前工作.工作流程和工具
  • GPU与NPU异构计算任务划分算法研究:基于强化学习的Transformer负载均衡实践
  • 学习ai课程大纲
  • 基于CentOS7制作OpenSSL 1.1的RPM包
  • 数据分析_Python
  • TCP/UDP协议原理和区别 笔记
  • 深入浅出:C++数据处理类与计算机网络的巧妙类比
  • 【滑动窗口】LeetCode 209题解 | 长度最小的子数组
  • 在RK3588上使用NCNN和Vulkan加速ResNet50推理全流程
  • 【ant design】ant-design-vue 4.0实现主题色切换
  • Android 图片自动拉伸不变形,点九
  • 电子电路:什么是色环电阻器,怎么识别和计算阻值?
  • LeetCode Hot100刷题——轮转数组
  • Python绘制南丁格尔玫瑰图:从入门到实战
  • 概率与期望总结
  • 炼丹学习笔记3---ubuntu2004部署运行openpcdet记录
  • 深入解析BGP路由反射器与联邦:突破IBGP全连接限制的两种方案
  • QT设置MySQL驱动
  • String的一些固定程序函数
  • 3.2/Q2,Charls最新文章解读
  • 大麦(Hordeum vulgare)中 BAHD 超家族酰基转移酶-文献精读129
  • docker迅雷自定义端口号、登录用户名密码