主备角色switch
理论知识:
Switchover 切换允许primary 和一个备库进行切换,并且这种切换没有数据丢失。
前提条件:
1) 主备库相关参数 fal_client、fal_server 、standby_file_management 、 db_file_name_convert 、
log_file_name_convert 都已经配置。 standby logfile 日志组已创建。
(验证主备库的配置信息,包括初始化参数,归档模式,standby redo logs 和online redo log。 )
2)在主库查询V$ARCHIVE_DEST_STATUS 视图,验证备库没有redo 传输错误 或者redo gap。
SQL> SELECT STATUS, GAP_STATUS FROM V$ARCHIVE_DEST_STATUS WHERE DEST_ID = 2;
STATUS GAP_STATUS
--------- ------------------------
VALID NO GAP
只有这里状态是VALID 和NOGAP的情况下,才可以进行角色切换操作。
3) 确保主备库Temp 表空间一致。
4) 移除standby 上任何delay apply redo 的设置。
5) 如果是将RAC 主库切换到物理备库,RAC 主库只能保留一个节点,其他节点要关闭,在switchover 完成以后在启动关闭的节点即可。
6) 如果备库是real-time apply 的物理standby,并且是read only 模式,在切换之前,建议先将备库启动到mount状态,而不是open状态,这样可以实现最快速的角色切换,而不需要在切换之前清除用户的session连接。
7)如果有多个standby,在Role Transition 时如何选择 。 考虑位置,性能,数据库类型
主库参数检查:
SQL> show parameter fal_client
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fal_client string devdb1
SQL> show parameter fal_server
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fal_server string phydb
SQL> show parameter standby_file_management
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
standby_file_management string MANUAL
SQL> show parameter db_file_name_convert
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string +DATA/phydb/, +DATA/devdb/
SQL> show parameter log_file_name_convert
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_file_name_convert string +DATA/phydb/, +DATA/devdb/
SQL> select group# from v$standby_log;
GROUP#
----------
4
5
6
7
备库参数检查:
SQL> show parameter fal_client
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fal_client string phydb
SQL> show parameter fal_server
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fal_server string devdb1
SQL> show parameter standby_file_management
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
standby_file_management string AUTO
SQL> show parameter db_file_name_convert
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string +DATA/devdb/, +DATA/phydb/
SQL> show parameter log_file_name_convert
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_file_name_convert string +DATA/devdb/, +DATA/phydb/
SQL> select group# from v$standby_log;
GROUP#
----------
4
5
6
7
特别提醒: 作者环境为一个节点的rac+单节点dg 。 不同于两个节点的rac+dg,操作上有细微区别。如两个节点的rac,一个节点需shutdown,一个节点操作。
切换模式 :一个节点的rac主库切换备库,单节点备库切换成主库 。
1. 将主库切换成standby role:
SQL> alter database commit to switchover to physical standby with session shutdown;
Database altered.
2. 将原备库切换成主库 , 并 open 。
SQL> alter database commit to switchover to primary with session shutdown;
Database altered.
SQL> ALTER DATABASE OPEN;
Database altered.
3. 原主库并启动到open状态,启动 mgr 进程。
SQL> startup;
ORACLE instance started.
Total System Global Area 839282688 bytes
Fixed Size 2257880 bytes
Variable Size 603982888 bytes
Database Buffers 230686720 bytes
Redo Buffers 2355200 bytes
Database mounted.
Database opened.
SQL> alter database recover managed standby database using current logfile disconnect from session;
Database altered.
4. 验证
SQL> SELECT DEST_ID, STATUS,APPLIED_SCN FROM V$ARCHIVE_DEST WHERE TARGET='STANDBY';
DEST_ID STATUS APPLIED_SCN
---------- --------- -----------
2 VALID 0
切换模式: 单节点主库切换成备库,一个节点rac备库切换成主库。
1. 确认主库,新主库切换成备库
SQL> select name,database_role,switchover_status from v$database;
NAME DATABASE_ROLE SWITCHOVER_STATUS
--------- ---------------- --------------------
DEVDB PRIMARY TO STANDBY
SQL> alter database commit to switchover to physical standby with session shutdown;
Database altered.
2. 新备库切换成主库 , 并 open 。
SQL> alter database commit to switchover to primary with session shutdown;
Database altered.
SQL> alter database open;
Database altered.
3. 现备库open ,并启动 mgr 进程。
SQL> startup;
ORACLE instance started.
Total System Global Area 839282688 bytes
Fixed Size 2257880 bytes
Variable Size 603982888 bytes
Database Buffers 230686720 bytes
Redo Buffers 2355200 bytes
Database mounted.
Database opened.
SQL> alter database recover managed standby database using current logfile disconnect from session;
Database altered.
4. 主库执行检查
SQL> SELECT DEST_ID, STATUS,APPLIED_SCN FROM V$ARCHIVE_DEST WHERE TARGET='STANDBY';
DEST_ID STATUS APPLIED_SCN
---------- --------- -----------
2 VALID 1879072
主备角色switch的更多相关文章
- Keepalived 无法自动转换主备角色,请关注 iptables 防火墙配置
最近在研究服务器高可用集群 (HA)…… 搭建了主备两台Keepalived,配置什么的全是网上照抄的,被验证过无数遍的示例…… 然而Master和Backup无法自动切换.两边会同时绑定浮动IP(V ...
- GoldenGate 传统抽取进程随 DataGuard 主备快速切换的方案(ADG 模式)
环境描述: 1.节点描述 节点 IP 节点描述 11.6.76.221 GG 抽取端 / DG 节点,数据库版本号为 Oracle-11.2.0.3,与 11.6.76.222 组成 DataGuar ...
- 24 mysql怎么保证主备一致
Mysql主备的基本原理 在状态1中,客户端直接访问节点A,而节点B只是备库,只是将A的binlog全部同步过来并应用到本地,这样可以保持节点B和节点A的数据是相同的. 当需要切换的时候,就变成状态2 ...
- pgsql主备搭建及切换
二.主从搭建 2.1测试目标 测试postgresql主从搭建安装过程 2.2环境准备 实例级别的复制 流复制主库可读写,但从库只允许查询不允许写人, 而逻辑复制的从库可读写 流复制实验环境 主机 主 ...
- OceanBase中主备Rootserver如何管理切换
主RootServer会不断给备RootServer发送lease.被RootServer收到该lease后会保存到几个变量中: int ObCheckRunnable::renew_lease(co ...
- Oracle Dataguard HA (主备,灾备)方案部署调试
包括: centos6.5 oracle11gR2 DataGuard安装 dataGuard 主备switchover角色切换 数据同步测试 <一,>DG数据库数据同步测试1,正常启动主 ...
- 搭建实时同步data guard的最高可用-切换主备
搭建实时同步data guard的最高可用-切换主备 首先保证主库在归档模式下:错过N次了 准备二台机器(hostname gw hosts ech0)host-only [root@node1 ~] ...
- [terry笔记]11gR2_dataguard_主备库切换
主备库切换 Switchover 一般SWITCHOVER切换都是计划中的切换,特点是在切换后,不会丢失任何的数据,而且这个过程是可逆的,整个DATA GUARD环境不会被破坏,原来DATA GU ...
- Oracle 12C 物理Standby 主备切换switchover
Oracle 12C 物理Standby 主备切换switchover Oracle 12C 物理Standby 主备切换switchover Table of Contents 1. 简述 2. 切 ...
随机推荐
- 深度 | Facebook的图像识别很强大,一次开源了三款机器视觉工具(附论文)
http://mp.weixin.qq.com/s?__biz=MzA3MzI4MjgzMw==&mid=2650718597&idx=1&sn=56aa4e5deff9962 ...
- python windows package/module 安装
方法一: cmd中运行pip install xx 注意:1.pip添加至环境变量 2.系统自带这些安装模块 运行pip freeze > requirements.txt 可以在require ...
- GIT客户端的使用【原创】
这次分享的方式,采用的是视频的形式,视频是本人录制. 在做项目使用SVN的时候经常有各种错误出现,所以萌发使用git的想法.在学习git的过程中发现一个神器就是分支,虽然在SVN里也有分支,但由于机制 ...
- servletResponse 请求重定向
package response;/* * 重定向特点: * 1,浏览器会向服务器发送两次请求,意味着就有两个request\response * 2,用重定向技术,浏览器地址栏会发生变化 * * ...
- MongoDB安装配置(Windows)
官网下载:https://www.mongodb.com/ 百度经验:https://jingyan.baidu.com/article/d5c4b52bef7268da560dc5f8.html 官 ...
- 【BZOJ1499】[NOI2005]瑰丽华尔兹 单调队列+DP
[BZOJ1499][NOI2005]瑰丽华尔兹 Description 你跳过华尔兹吗?当音乐响起,当你随着旋律滑动舞步,是不是有一种漫步仙境的惬意?众所周知,跳华尔兹时,最重要的是有好的音乐.但是 ...
- 【BZOJ4197】[Noi2015]寿司晚宴 状压DP+分解质因数
[BZOJ4197][Noi2015]寿司晚宴 Description 为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴.小 G 和小 W 作为参加 NOI 的选手,也被邀请参加了寿司晚宴 ...
- Node.js面试题
Node.js面试题列表 什么是错误优先的回调函数? 如何避免回调地狱? 如何用Node来监听80端口? 什么是事件循环? 哪些工具可以用来保证一致的编程风格? 什么是测试金字塔?对于HTTP API ...
- 3行代码 多元线性方程组 rank=4 多元-一元 降元
对于线性方程组Ax=b 对A和b执行同样的一串行初等运算, 那么该方程组的解集不发生变化. [未知-已知 高阶--低阶] http://mathworld.wolfram.com/CramersR ...
- zookeeper_action
连接串 从节点列表本地缓存主节点对未分配的任务,随机分配给从节点(不合理??)从节点保存一个本地待执行任务列表单独的线程对节点已分配任务进行循环 进程p为了获锁——>创建节点znode_/loc ...