Data Guard中快速Switchover,Failover的一些建议

其实对于Failover和Switchover是大家处理灾难时很头疼的一个环节,也是最关键的处理过程。
假设你半夜正在睡觉,被报警电话惊醒,得知某个服务器产生了故障宕机,在这种情况下,我们大体会有下面的处理流程:
1)检查原来的节点是否可用,需要查看ILO和存储,是否存在异常
2)如果原来的节点可以重启,可以尽量马上恢复业务,然后分析根本原因,是否是硬件老化,硬件故障导致,如果发现问题影响较大,可以使用Switchover
3)如果原来的节点无法重启,这个时候需要考虑Failover,如果在同机房可以直接替换IP,异地机房需要配合开发,系统运维来修改应用连接IP
4) 配合系统,开发,检查业务是否恢复正常
这个时候有几个问题就摆在了眼前
1)原来库的防火墙信息在Failover之后,备库本身是没有的。这个怎么办,一种临时解决办法就是关闭防火墙,然后允许应用都连接进来,在后台收集连接服务器信息和端口,收集到一定程度之后,开启防火墙,另外一种方式就是从历史的备份中找到,开启防火墙
2)Switchover,Failover之后,主备库的多监听端口是否一致,要不数据库间通信没问题,很可能应用连接的端口不一而导致连接问题
3)主备库切换后,部分db link不可用,究其原因还是tnsnames.ora中的主机名配置不够统一,缺少权限导致。
还有更多的细节问题,比较参数文件不统一,内核参数文件不统一导致的配置问题,性能问题。
所以我们需要快速Swithover,Failover,数据的切换之外,这些额外的工作花费的时间要远多于切换。

当然我之前也分析过命令的方式切换,也写过一些脚本辅助。从根本上来说,Switchover和Failover的差别很小,对于备库来说都是透明的,只是一种状态标示。所以我们可以简化switchover和Failover的一些内容,其实操作上来说,主要的区别就是是否修改IP,switchover可能会替换IP,而Failover可能会修改备库IP为原来的主库IP
在这一点上看起来不好统一,其实进一步分析,如果我们使用主机名的方式在listenerora,tnsnames.ora,那么在/etc/hosts中只需标记一次即可,替换就修改/etc/hosts的配置,否则不修改。
而其它的信息就会更加清晰,都提前同步好了,准备好了。
那么可能会有一个问题,就是主库已经是线上业务,这个怎么统一啊,而且处理不当会弄巧成拙,这个担忧是很对的,对于主库没有200%的把握不要修改主库的这些信息,主库不能改动,备库可以啊。所以我们可以从备库的层面来规范,始终保证这些配置信息在备库都是标准,规范的配置。这样一来在宕机事件面前,我们的操作及混简单,决定是switchover还是failover即可。其它的信息都一并修改同步好,提前完成。
至于还有哪些方面需要考虑,暂且想到了图中的方方面面,可以作为我们规范备库的一个方式。

时间: 2024-09-21 05:50:02

Data Guard中快速Switchover,Failover的一些建议的相关文章

Data Guard Physical Standby Switchover

Data Guard Physical Standby Switchover 一.确保主库相关参数文件,设置正确 如下为主数据库相关参数 DB_NAME=pridb DB_UNIQUE_NAME=pridb LOG_ARCHIVE_CONFIG='DG_CONFIG=(pridb,stdb)' CONTROL_FILES='/arch1/chicago/control1.ctl', '/arch2/chicago/control2.ct' LOG_ARCHIVE_DEST_1= 'LOCATIO

Oracle] Data Guard 之 浅析Switchover与Failover

以下是对Oracle中Switchover与Failover的使用进行了详细的分析介绍,需要的朋友参考下   Data Guard主从库之间的角色切换分为以下两种:1)SwitchoverSwithchover通常都是人为的有计划的进行角色互换,比如升级等.它通常都是无损的,即不会有数据丢失.其执行主要分为两个阶段:1.Primary转为Standby 2.Standby(之一)转为Primary2)FailoverFailover是指由于Primary故障无法短时间恢复,Standby不得不充

聊聊Data Guard中的DG Broker

    DG Broker是Oracle为Data Guard维护提供的一个很不错的工具,从我的实际使用来看,早期的版本中似乎大家都还是存在一定的思维定式,认为手工维护已经足够了.这个工具就不那么需要了,我们完全可以脱离开这些工具来直观的使用命令行的方式来维护,这个观点也没错,不过从与时俱进的角度来看,本来能够让你更轻松的一个工具,如果不用实在是太可惜了.     DG Broker在数据库端需要启用一个后台进程dmon来维护,这个后台进程启动,需要设置dg_broker_start为true即

[Oracle] Data Guard 之 浅析Switchover与Failover_oracle

Data Guard主从库之间的角色切换分为以下两种:1)SwitchoverSwithchover通常都是人为的有计划的进行角色互换,比如升级等.它通常都是无损的,即不会有数据丢失.其执行主要分为两个阶段:1.Primary转为Standby2.Standby(之一)转为Primary2)FailoverFailover是指由于Primary故障无法短时间恢复,Standby不得不充当Primay的角色,如果处于最高性能模式,这种切换很有可能导致数据丢失. 下面分别演示物理Standby的Sw

ZT:Data Guard中rename a datafile的步骤小计

http://grassbell.itpub.net/post/26/18902 补充一点: 改名之前在standby上先执行 ALTER SYSTEM SET standby_file_management='MANUAL' SCOPE=BOTH;. 需要注意的是:如果你想让primary 和standby 上的数据文件结构保持一致的话,在primary 上rename a datafile后,即使STANDBY_FILE_MANAGEMENT = auto,也需要在standby上手工执行相

搜狐畅游高级DBA:Data Guard运维中的实战经验和技巧

本次分享由以下几个部分组成: Data Guard的灾备介绍 备库的设计方案考虑 备库敏感的几个数据文件类操作 对Switchover和Failover的建议 SQL审核之Snapshot Standby Data Guard搭建/重建的小技巧   写在前面 之前有一个朋友很有深意的问我Data Guard和RAC哪个更重要,前提是在高可用和容灾两者之间来选择,只能选其一,我是毫不犹豫选择Data Guard,毕竟这是数据安全的基本防线,我想Data Guard的命名(中文翻译为数据卫士)也是这

DG7——物理Data Guard 下Failover 时Redo 的处理问题

原文转自:http://blog.csdn.net/tianlesoftware/article/details/5989638 和老大讨论了一下Oracle Data Guard 下redo 的问题. 在Data Guard 环境下,归档文件是可以在备库应用的. 假如主库直接crash后,无法登陆,这时在将备库切换为主库的时候,如何处理主库的redo 就是关键. 因为这里的数据就是可能丢失的数据.   所以做了一个实验验证,验证redo 的处理.即将主库的redo 直接copy到备库,然后通过

Oracle Data Guard 理论知识

Oracle Data Guard 理论知识   来源:Linux社区 作者:tianlesoftware       RAC,Data Gurad,Stream是Oracle高可用性体系中的三种工具,每个工具即可以独立应用,也可以相互配合.他们各自的侧重点不同,适用场景也不同.   RAC它的强项在于解决单点故障和负载均衡,因此RAC方案常用于7*24的核心系统,但RAC方案中的数据只有一份,尽管可以通过RAID等机制可以避免存储故障,但是数据本身是没有冗余的,容易形成单点故障.   Data

Oracle DG(Data Guard)支持异构平台说明

Oracle DG(Data Guard)支持异构平台说明  以下转自:http://blog.csdn.net/tianlesoftware/article/details/7241488 一.说明 OracleData Guard 最简单的配置是主备库的环境都一样,但是在有些情况下需要异构的配置,比如在迁移时为了减少停机时间或者零停机,可能就需要使用异构的DG 配置. 关于Oralce DataGuard 异构平台的搭建,MOS上有2篇文章专门来说明: Data Guard Support