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

Oracle学习专栏(六):高可用架构

文章目录

  • 前言
  • 一、RAC集群
  • 二、Data Guard搭建
  • 三、GoldenGate实时数据同步


前言

作为Oracle学习专栏的第六篇,我们将直击企业级数据库的核心生存能力。本篇聚焦三大标准:

  • 🚀 RAC集群:实现数据库服务的无缝接续
  • 🛡️ Data Guard:构建数据资产的钢铁长城
  • ⚡ GoldenGate:打造跨平台实时数据血脉

高可用架构设计核心思想:
核心目标:通过消除单点故障实现业务连续性。
高可用架构

一、RAC集群

Oracle RAC(Real Application Clusters,真正应用集群)是Oracle数据库的高可用性解决方案,通过多台服务器节点共享同一套存储设备构成集群,每个节点运行独立的Oracle实例但访问相同数据文件,利用全局缓存服务(GCS)和集群互连技术实现节点间数据同步,提供故障自动转移、负载均衡和线性扩展能力,适用于需要24×7高可用及弹性扩展的关键业务场景。
架构核心组件:

  • 共享存储:ASM磁盘组存放数据文件。
  • 私有网络:心跳线(用于Cache Fusion)。
  • 公共网络:客户端访问。
  • Clusterware:集群管理引擎。

Cache Fusion工作机制:
Cache Fusion
RAC部署关键步骤(Linux环境):

# 1. 配置ASM磁盘
sudo oracleasm createdisk DATA /dev/sdb1# 2. 安装Grid Infrastructure
./runInstaller -silent \oracle.install.option=CRS_CONFIG \ORACLE_BASE=/u01/app/oracle \ORACLE_HOME=/u01/app/grid# 3. 创建集群数据库
srvctl add db -d ORCL \-o /u01/app/oracle/product/12.2.0/dbhome_1 \-p +DATA/ORCL/PARAMETERFILE/init.ora# 4. 添加节点
srvctl add instance -d ORCL -i ORCL2 -n node2

二、Data Guard搭建

Oracle Data Guard是Oracle数据库提供的高可用性及灾难恢复解决方案,通过维护一个或多个备用数据库实现数据保护,其核心机制是将主库生成的Redo日志实时传输到备库并应用,支持物理备库和逻辑备库两种模式,提供同步(零数据丢失)和异步(高性能)两种传输方式,可快速完成主备切换(Switchover/Failover),适用于金融容灾、关键业务数据保护及报表查询分流等场景,与RAC集群形成互补(RAC解决实例级高可用,Data Guard解决数据级冗余)

物理备库是主数据库的块级精确副本,通过直接应用主库传输的redo日志在物理层面保持完全一致,通常以只读模式运行,适合要求数据强一致的灾难恢复场景;逻辑备库则将redo日志转换为等效SQL语句执行,只需保持逻辑结构一致,可开放读写并支持选择性同步,适用于需要读写分离或灵活架构的业务场景。两者核心差异在于同步机制(物理恢复vs SQL转换)和结构要求(物理一致vs逻辑一致)
物理备库 vs 逻辑备库:

特性物理备库逻辑备库
数据一致性块级别一致事务级别一致
数据库状态Mount状态打开状态
结构变更必须与主库相同可异构

物理备库和逻辑备库各有优势,实际选择应基于业务需求、数据一致性要求和运维能力综合评估。对于大多数关键业务系统,物理备库仍是首选,而需要灵活性的场景则可考虑逻辑备库或混合架构。

物理备库搭建流程:

-- 主库配置
ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(ORCL,ORCL_STBY)';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=ORCL_STBY ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)';-- 备库操作
DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASESPFILE SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(ORCL_STBY,ORCL)';-- 启动Redo应用
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;

故障切换:

-- 备库执行
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
-- 原主库修复后转为备库
ALTER DATABASE CONVERT TO PHYSICAL STANDBY;

三、GoldenGate实时数据同步

Oracle GoldenGate(简称OGG)是Oracle公司提供的一款异构环境实时数据集成与复制软件,其核心技术通过解析源数据库的事务日志(如Redo日志)捕获数据变更,将增删改操作转换为中间格式后经TCP/IP传输至目标端,最终由Replicat进程还原为SQL语句实现亚秒级同步

与Data Guard等Oracle原生方案不同,GoldenGate支持跨数据库平台(如Oracle到MySQL/SQL Server等)的数据迁移和实时集成。

架构核心组件:

  • Extract:抓取事务日志。
  • Pump:传输数据到目标端。
  • Replicat:目标端应用数据。

数据同步流程:
数据同步
配置示例(HR.EMPLOYEES表同步):

# 源端配置(Extract)
ADD EXTRACT EXT_HR, TRANLOG, BEGIN NOW
ADD EXTTRAIL /ggs/dirdat/lt, EXTRACT EXT_HR
ADD SCHEMATA HR, HR
TABLE HR.EMPLOYEES;# 目标端配置(Replicat)
ADD REPLICAT REP_HR, EXTTRAIL /ggs/dirdat/rt
MAP HR.EMPLOYEES, TARGET HR.EMPLOYEES;

冲突解决策略:

-- 基于时间戳的解决方案
MAP HR.EMPLOYEES, TARGET HR.EMPLOYEES,RESOLVECONFLICT (INSERTROWEXISTS (DEFAULT, USEMAX (UPDATE_TIMESTAMP)),RESOLVECONFLICT (UPDATEROWMISSING (DEFAULT, OVERWRITE));

选型建议:

场景推荐方案恢复时间目标
节点级故障RAC< 30秒
数据中心级灾难Data Guard< 10分钟
跨平台实时数据同步GoldenGate秒级延迟

附录:部署资源清单

  • Oracle官方高可用白皮书
  • GoldenGate性能调优指南

文章转载自:
http://albumen.kjawz.cn
http://burglar.kjawz.cn
http://bicornuous.kjawz.cn
http://catadioptrics.kjawz.cn
http://californicate.kjawz.cn
http://adagietto.kjawz.cn
http://choosing.kjawz.cn
http://amphibiology.kjawz.cn
http://annuation.kjawz.cn
http://bridgework.kjawz.cn
http://cayenne.kjawz.cn
http://blottesque.kjawz.cn
http://adagiettos.kjawz.cn
http://bolshevik.kjawz.cn
http://bamboozle.kjawz.cn
http://brewage.kjawz.cn
http://caries.kjawz.cn
http://asymmetric.kjawz.cn
http://campaniform.kjawz.cn
http://biweekly.kjawz.cn
http://antarctic.kjawz.cn
http://britisher.kjawz.cn
http://abridgment.kjawz.cn
http://behar.kjawz.cn
http://capriccioso.kjawz.cn
http://anaphylactin.kjawz.cn
http://bourgeois.kjawz.cn
http://adjust.kjawz.cn
http://ardeb.kjawz.cn
http://chamberlain.kjawz.cn
http://www.dtcms.com/a/280235.html

相关文章:

  • 代码随想录八股文训练营总结
  • Ai推理助手易语言开源版
  • 【解决】联想电脑亮度调节
  • SAP学习笔记 - 开发45 - RAP开发 Managed App New Service Definition,Metadata Extension
  • c++图形题练习程序
  • 【工程篇】07:如何打包conda环境并拷贝到另一台服务器上
  • HAProxy双机热备,轻松实现负载均衡
  • 【开源】一款基于 .NET 和 Vue3 开源(Apache)的MES管理系统,您的新一代工厂管理助手!
  • 昆仑通态触摸屏脚本编程通讯设置和调试
  • 【亲测有效】ubuntu20.04服务器新建用户+vnc配置教程
  • Racknerd服务器Ubuntu
  • Ant Design预览多张图
  • AR眼镜颠覆医疗:精准手术零误差
  • HTML--教程
  • K-12教育创业新蓝图:告别“刷题”,拥抱“千人千面”个性化学习
  • 物联网设备管理工具实战:用AR运维镜击穿6.8天修复魔咒
  • Bootstrap-HTML(七)Bootstrap在线图标的引用方法
  • 【zynq7020】PS的“Hello World”
  • RHCE认证-Linux 运维知识整合:从基础到进阶的学习路径
  • ESP32S3+VSCode+PlatformIO+Arduino+Freertos开发入门指南:基于Arduino框架的应用开发全流程
  • 多维视角下的可组合性:PTBs 与 EIP-7702 的对比与解析
  • 简单明了的对比PyTorch与TensorFlow
  • 操作系统笔记:进程调度(Process Scheduling)
  • 硬件与软件的桥梁:冯诺依曼体系、操作系统和初始进程的深度解析
  • 排序算法实战(上)
  • 串口通信性能优化
  • 人形机器人:技术落地、场景适配与产业演进
  • 卫星通信链路预算之六:输出回退
  • [RPA] 多页订单的自动处理
  • 高并发四种IO模型的底层原理