关于switchover的流程和补充

本文涉及的产品
云防火墙,500元 1000GB
简介: 对于Oracle Data Guard中的Switchover一般是计划内的操作,自己其实也处理了不少的故障,也算是轻门熟路。复杂的事情简单做,简单的事情重复做,重复的事情用心做,想必很多事情都是这个理吧。
对于Oracle Data Guard中的Switchover一般是计划内的操作,自己其实也处理了不少的故障,也算是轻门熟路。 复杂的事情简单做,简单的事情重复做,重复的事情用心做,想必很多事情都是这个理吧。
发现很多事情虽然做了很多遍,但是每次都会有不同的体会,而这些积累下来的经验才让我们的经验更加宝贵。
一般来说Oracle的Switchover需要考虑的细节较多,大体有以下的流程。

1.在迁移之前明确目标服务器IP,发出维护公告 
这个无需多说,本身就是跨部门,多部门的协调工作,说简单简单,说复杂复杂,技术层面的事情就是需要提供给各业务部门相关联的服务器信息,让他们提前准备。
2.设置zabbix的维护窗口 
为了避免很多批量紧急的报警,我们需要一个明确的维护窗口,把主备库环境都纳入维护窗口,这样会避免很多不必要的报警短信和报警解释。
3.DG Broker的验证
在切换前,需要保证DG Broker一定是正常的状态,我们可以有一下几种验证方式。
    把备库置于read-only状态,如果是11gADG,需要查看select open_mode from v$database一定需要时READ ONLY WITH APPLY,如果是10g版本,这个步骤尤其重要,如果切换之后,因为各种奇葩的原因,备库无法正常使用就歇菜了,备库的临时表空间,日志等问题需要提前检查好,因为这些对于备库来说都不会直接影响主从一致性,但是备库变主库就尤其重要。
    查看主备库的延迟情况,这个在11g中可以通过show database verbose xxx的方式看出备库的延迟情况,而对于10g来说,这些属性还没有,我们可以查看主备库的SCN情况,甚至在主库做一个日志切换,在备库查看应用的情况。
4.停止数据库,释放连接
为了尽可能在维护的可控范围内,保证很多活跃会话的事务一致性,最好还是能够在switchover前重启一下数据库,释放数据库连接,当然很多应用有重连机制,我们可以停掉其它的监听端口,设定一个独立的端口留给Data Guard,当然这也是一把双刃剑,如果端口刚好被很多应用所用,你是没法完全控制的,可能处理不当,DG Broker都不能正常使用了,因小失大。
5.Switchover
切换是这个过程的核心,我们可以使用DG Broker来完成,这个过程本身就没有太多的技术亮点,但是最大的坎就是心灵压力了,我碰到过在Solaris下Failover网络连接超时的切换,切换时间极长,后台没有任何日志输出,这个过程只有经历了才会更懂,有些切换的时候可能检查没有做彻底,或多或少会碰到一些问题,这个时候我的建议是准备好两套方案,如果一旦DG Broker切换中出现任何问题,我们可以完全手工来接管。毕竟切换的过程就是转换数据库角色,一定要沉着冷静,当然沉着冷静这个是在不断的经历中锻炼出来的。
6.同步listener.ora,tnsnames.ora,/etc/hosts
主备库切换需要同步监听,tns,主机的信息,这些信息比较琐碎,可以提前准备好一个临时文件,到时候直接替换即可,特别注意需要保证主备库的监听端口是一致的。
7.防火墙同步
防火墙信息需要提前准备,需要提前告知相应的部门。我们在切换前就可以提前安排,把防火墙信息同步过来,需要注意网卡的名称是否一致,是否主备库有特殊的设定策略。
8.修改客户端的连接IP
有些服务器会通过服务端TNS来连接要切换的数据库,我们可以从防火墙中得到一个概要信息,哪些DB服务器中的tnsnames.ora里面包含了目标数据库,修改tnsnames.ora中的IP即可。
9.修改Database Link中的IP对应防火墙权限
比如目标数据库含有50个Database Link,可能会访问多个数据源,那么这个过程是运行时触发,在切换中是不会发现的,我们需要提前从db link对应的tns中进行过滤,查看那些服务器是否已经开启了防火墙权限,指定的端口已经开启。
10.crontab 修改 
同步主备库的crontab的信息,保证主备库的这些JOB能够正常运行,有些JOB如果执行频度极高,需要考虑暂时在切换的过程中先禁用,保证在切换Release环境之后正常开启。
11.修改orabbix配置 
主备库的IP发生改变,我们就需要重新配置Orabbix中的连接信息。
12.查看是否还有连接在备库存在
这个是一个持续性的过程,需要留意是否有计划外的会话依然在备库,可以使用netstat -nalp来得到一个基本的网络访问情况
13.留意观察Scheduler JOB运行正常
查看是否数据库内的Scheduler能够正常运行。



目录
相关文章
|
3月前
|
Web App开发 安全 分布式数据库
推荐一款多功能下载工具XDown,支持Torrent/磁力链/百度云等(附下载)
XDown官方版是一款功能强大的下载工具,支持HTTP/HTTPS/HTTP2协议下载,完全免费、无广告,支持128线程,原生支持BT种子和磁力链接,可浏览器自动接管下载,具备断线重连、自定义并发数、代理设置等特性,操作简便,适用于高效下载与做种分享。
1673 0
|
Java 测试技术 持续交付
|
4天前
|
云安全 人工智能 安全
AI被攻击怎么办?
阿里云提供 AI 全栈安全能力,其中对网络攻击的主动识别、智能阻断与快速响应构成其核心防线,依托原生安全防护为客户筑牢免疫屏障。
|
14天前
|
域名解析 人工智能
【实操攻略】手把手教学,免费领取.CN域名
即日起至2025年12月31日,购买万小智AI建站或云·企业官网,每单可免费领1个.CN域名首年!跟我了解领取攻略吧~
|
8天前
|
安全 Java Android开发
深度解析 Android 崩溃捕获原理及从崩溃到归因的闭环实践
崩溃堆栈全是 a.b.c?Native 错误查不到行号?本文详解 Android 崩溃采集全链路原理,教你如何把“天书”变“说明书”。RUM SDK 已支持一键接入。
561 210
|
3天前
|
编解码 Linux 数据安全/隐私保护
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
教程分享免费视频压缩软件,免费视频压缩,视频压缩免费,附压缩方法及学习教程
226 138
|
存储 人工智能 监控
从代码生成到自主决策:打造一个Coding驱动的“自我编程”Agent
本文介绍了一种基于LLM的“自我编程”Agent系统,通过代码驱动实现复杂逻辑。该Agent以Python为执行引擎,结合Py4j实现Java与Python交互,支持多工具调用、记忆分层与上下文工程,具备感知、认知、表达、自我评估等能力模块,目标是打造可进化的“1.5线”智能助手。
787 59
|
6天前
|
人工智能 移动开发 自然语言处理
2025最新HTML静态网页制作工具推荐:10款免费在线生成器小白也能5分钟上手
晓猛团队精选2025年10款真正免费、无需编程的在线HTML建站工具,涵盖AI生成、拖拽编辑、设计稿转代码等多种类型,均支持浏览器直接使用、快速出图与文件导出,特别适合零基础用户快速搭建个人网站、落地页或企业官网。
1105 157