百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

数据库高可用 | 行业巨头不告诉你的“零停机”秘密!

mhr18 2024-12-17 13:40 16 浏览 0 评论

高可用是数据库系统的基本需求,也是数据库技术实现的难点之一。但对于有些行业来说,“零停机”,是刚需!

比如半导体行业,停机哪怕一分钟都可能造成高达数万美元的直接经济损失;比如航空业,航班调度系统一旦出现故障,成千上万的旅客行程将受到影响,航空公司可能要面临天文数字的赔偿;再比如医疗行业,停机可能直接关系着患者的生命安全!

那么,支撑这些尖端产业的数据库是如何实现近乎神话般的“零停机”的呢?



要理解这一奇迹背后的奥秘,我们必须首先识别并解决影响数据库可靠性的几个常见问题:

问题1:数据库高可用架构以及灾备架构不完善

问题2:数据库运行性能及稳定性问题

问题3:故障应急处理缺乏规范流程和方案

问题4:缺少高效运维体系

问题5:缺少主动式隐患梳理及预防

......

针对这些普遍问题,中亦科技经过多年技术与经验积累,总结出以下关键点!



高可用架构与灾备

坚固基石,方能抵御风暴


许多企业的数据库高可用架构及灾备体系并不完善。为了解决这一问题,我们可以根据业务系统的重要性,将其分为几个不同的等级,并为每个等级量身定制相应的高可用架构及灾备方案

其中核心系统属于A类系统。A/B/C/D类业务系统生产端数据库的架构都是RAC集群,区别为是否配置了ADG,是采用小型机还是X86,是在一套集群上部署一套还是两套数据库。分类之后再进行核心业务系统和核心系统除外的灾备架构和实现方式。

核心业务系统高可用架构图



数据库补丁管理

精准施策,防范未然


适时地进行补丁分析与升级至关重要。当遇到新版本操作系统或数据库安装、季度PSU补丁发布等情况时,就需要进行详尽的补丁分析,以避免潜在问题。这一过程不仅需要精确的分析策略,还需要完善的补丁升级计划,确保数据库始终保持在最佳状态。

那么,什么时候需要做补丁分析?

以Oracle数据库为例,当出现下列情况时,需要考虑做补丁分析:

  1. 在目标版本的操作系统上安装数据库,为了避免目标版本的OS出现BUG需要分析OS需要安装哪些补丁。
  2. 安装目标版本的数据库,为了避免新安装数据库出现严重BUG,需要数据库应该安装哪个patchset、哪个PSU补丁及小补丁。
  3. 随着ORACLE季度PSU补丁的发布,需要关注新补丁的分布并对严重性分类,需要做补丁分析,这样,已有数据库可以根据升级策略提前升级补丁以预防潜在问题。
  4. 当已有数据库出现严重BUG,考虑安装补丁时,具体需要安装哪个PSU补丁。



数据库最佳实践

细节决定成败


基于多年服务经验,我们总结了一系列最佳实践,覆盖操作系统配置、ASM参数调整、数据库参数优化等多个方面。通过这些精心设计的策略,我们能够有效消除系统运行中的隐患,确保数据库的稳健运行。



数据库高可用测试

实战检验,确保万无一失


在数据库系统上线前,进行全面的高可用测试至关重要。这包括但不限于服务器单节点故障、网络故障、心跳网络故障等场景。通过预先设定的测试案例,我们可以验证系统在面对各种极端条件下的表现,确保其能够在实际应用中保持高度的可靠性和稳定性。

对RAC集群高可用架构和容灾能力进行测试,主要包含以下几个场景:

服务器单节点故障:服务器发生故障重启是运行期间常见的问题之一,硬件故障,网络故障,参数配置错误等都可能导致服务器不稳定或者宕机;一旦服务器硬件出现故障,数据库随之也会受到影响,可能会导致数据库重启或者关闭。针对这些情况,设计两个测试用例分别模拟单节点手动重启服务器和异常宕机时的情景。

服务网络故障:本次预设的生产环境是双公网网卡和双私网网卡的rac环境,其中每组网卡都分为主网卡和备网卡,当公网主网卡出现故障后系统会自动切换到备网卡继续运行,理论上这个切换的过程会非常短、不会对业务产生影响;同时,因为数据库正常运行时不会用到备网卡,如果是备网卡发生故障业务也不会受到影响。当公网双网卡同时发生故障时,服务器将无法对外开放。

心跳网络故障:本次预设的生产环境是双公网网卡和双私网网卡的rac环境,其中每组网卡都分为主网卡和备网卡,当公网主网卡出现故障后系统会自动切换到备网卡继续运行,理论上这个切换的过程会非常短、不会对业务产生影响;同时,因为数据库正常运行时不会用到备网卡,如果是备网卡发生故障业务也不会受到影响。当私网双网卡同时发生故障时,如果较短时间就恢复,集群层面不会出现异常,若超过了misscount时间集群会出现脑裂现象。

服务器单节点HANG故障:服务器运行期间由于硬件或软件异常原因都有可能导致节点HANG死。操作系统因CPU、内存耗尽或BUG,OS挂起,无法响应数据库。针对这些情况,分别设计0S无法响应、cluster软件关键进程无响应、cluster软件关键进程异常终止、database软件关键进程无响应、database软件关键进程异常终止、业务作业进程无响应等6个大的场景进行测试。

操作人员操作失误:实际环境中,有可能存在操作人员误操作导致数据丢失,本次场景分闪回查询表、延迟闪回adg三个测试用例来分别模拟恢复数据。

除此之外还将对san网络故障、软件升级、HBA卡升级等场景进行测试。



运维体系建设

预防为主,应对为辅


构建全面的运维体系是保障数据库长期稳定运行的基础。这包括制定详细的预防策略、建立完善的监控机制、提供详尽的手册指南以及系统的培训支持。通过主动预防而非被动应对,我们能够显著降低系统故障率,提高整体服务质量。

运维体系建设关系到数据库系统的持续稳定运行,主要内容如下:

  1. 制定预防未来可能导致性能不稳定的统计信息策略并实施,数据存放策略标准;
  2. 提供数据库监控指标体系和具体实现方式;
  3. 制定数据库备份恢复策略;
  4. 提供数据库变更手册、应急手册和维护手册;
  5. 提供系统性的培训和指导,为客户后续的深度自主运维奠定良好的人才基础。
  6. ... ...

为了提升业务连续性和用户体验,提升系统可用性、稳定性、安全性,全面提升运维质量,我们还会制定了数据库运维体系说明手册,用以指导数据库的日常运维工作。

Oracle运维体系的模型



主动式优化与问题梳理

防微杜渐,未雨绸缪


数据库运维和消防一样,永远都是“预防重于救火”,被动式的故障处理只能解决突发的问题,只有主动梳理及预防才能防患于未然,真正做到事半功倍!

中亦科技会从主动式分析和预防及基于开发运维最佳实践进行问题梳预防进行说明。主动对数据库运行情况进行性能监控,抓取性能表现不佳或扩展性不佳的SQL/PLSQL并进行主动分析,提交优化建议。通过梳理并预防潜在问题,我们能够提前发现并解决隐患,减少未来可能出现的问题数量。

在这个信息爆炸的时代,数据库的可靠性很关键。中亦科技一直在不断的总结项目经验,培养专业技术团队,完善服务体系,希望通过不断升级的数据库可靠性方案,提高数据库的可用性和稳定性!


如果您有数据库可靠性提升的需求,欢迎留言联系我们,我们的技术专家团队将竭诚为您服务。

相关推荐

AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术

IT之家5月21日消息,科技媒体linuxiac昨日(5月20日)发布博文,报道称代号为SageMargay的AlmaLinux9.6发行版已上线,距上一版本9.5发...

Java最新学习路线,系统全面,零基础适用

首先,我个人比较推崇的学习方法是:先学java前段,也就是HTML,css,js,因为学习java以后肯定是往javaee方向发展的,学习完前端,在学习后端很多东西比计较容易理解!其中J2SE是关键...

深入理解数据库事务(数据库事务处理的理解)

Transaction作为关系型数据库的核心组成,在数据安全方面有着非常重要的作用,本文会一步步解析事务的核心特性,以获得对事务更深的理解。什么是事务数据库几乎是所有系统的核心模块,它将数据有条理地保...

IvorySQL 4.4 发布(1044mysql)

IvorySQL4.4已于2025年3月10日正式发布。新版本全面支持PostgreSQL17.4,新增多项新功能,并修复了已知问题。增强功能PostgreSQL17.3增强功...

Oracle 与 Google Cloud 携手大幅扩展多云服务

据DCD4月10日报道,甲骨文(Oracle)与谷歌云(GoogleCloud)深化合作,全力扩展多云产品。双方计划为OracleDatabaseGoogleCloud解决方案新增11...

Izzi 利用 Oracle 云提高计费效率和客户体验

据thefastmode网5月2日报道,墨西哥电信运营商Izzi宣布采用Oracle云基础设施(OCI),对其业务支持系统(BSS)进行现代化改造增强客户体验,已经成功完成。通过在OCI上运行...

好莱坞群星也有明星脸?硅谷科技名人本尊分身比一比

假如有部电影齐聚了众科技名人角色,如同许多好莱坞大牌卡司所共同主演的《瞒天过海》(Ocean’sEleven)那样,演出彼此在商场上竞逐、或共同对抗外来竞争捍卫硅谷的故事,更在剧中有不少对手戏,会不...

澳大利亚Find My iPhone被黑 多人被黑客锁机

FindMyiPhone本来是一个用于协助找回被盗手机的好工具,但是现在,澳洲的苹果用户发现他们的FindMyiPhone变成了黑客的帮凶。昨天,这名自称为OlegPliss的黑客使用Fin...

服务器密码错误被锁定怎么解决(服务器密码失效)

#服务器密码错误被锁定解决方案当服务器因多次密码错误导致账户被锁定时,可以按照以下步骤进行排查和解决:##一、确认锁定状态###1.检查账户锁定状态(Linux)```bash#查看账户锁定...

凌晨突发的数据库重大故障,我排查了一整天……

春节期间过得太热闹了,上班确实没啥状态,这不刚发生的一个重大性能故障,排查了整整一天,后面的领导都站成了一排,本次把故障发生的详细分析过程分享给大家!本次故障发生在凌晨,核心应用卡顿非常严重,Orac...

Oracle锁表紧急处理!3招快速解锁方案

开篇:突发故障现场凌晨1点,某电商系统突然卡顿,数千笔支付订单无法完成——数据库出现死锁,技术团队紧急响应...(遇到类似情况的,欢迎在评论区分享经历)一、问题重现:死锁是如何产生的?典型场景:问题根...

JetBrains DataGrip Mac中文破解版V2025.1下载安装教程

DataGripforMac是由JetBrains开发的数据库集成开发环境(IDE),专为数据库管理员和开发人员设计。它支持多种数据库(如MySQL、PostgreSQL、Oracle、SQ...

电脑装安卓系统,安卓X86版5.1 RC1下载

日前,谷歌放出了Android-x865.1的第一个候选版本Android-x865.1RC1,该版本基于Android5.1.1r24Lollipop开发,更新包括大量x86(32位)代...

来来来!一文告诉你Eclipse的正确安装使用姿势,你都清楚吗?

前言本学习笔记是有关如何设置Eclipse的详细说明。即使你天天在使用它,但是,相信我,或许你并不足够了解它。安装Java运行时环境Eclipse是Java应用程序,因此设置Eclipse的第一步是安...

分享收藏的 oracle 11.2.0.4各平台的下载地址

概述oracle11.2.0.4是目前生产环境用的比较多的版本,同时也是很稳定的一个版本。目前官网上已经找不到下载链接了,有粉丝在头条里要求分享一下下载地址。一、各平台下载地址1.1Linuxx...

取消回复欢迎 发表评论: