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

基础知识 | OGG如何评估抽取ORACLE的REDO的速度,你必须要知道!

为了不错过每一期干货,强烈建议关注我

写技术文章,纯属“为爱发电”;更新不易,希望大家能够多多支持

1️⃣ 点赞的人,今年都升职加薪了

2️⃣ 点在看人,今年一定会发财

3️⃣ 评论区交流技术,每条留言都会回复

如何估算 GoldenGate Extract 重做处理速度?

问题描述

有时候,我们想估算 OGG Extract 性能的一个常用标准是其处理 Oracle 重做日志/归档日志的速度。本文介绍一种估算该速度的方法。

适用范围
Oracle GoldenGate 版本 10.4.0.0 及更高版本

估算方法

通过执行send extract <ext>, status命令可以查看 Extract 当前的读取位置。该位置可能与当前检查点不同,因为检查点仅定期更新。因此,这种方法比通过info extract <ext>估算更为准确。

如果获取两个时间点的读取位置,其差值即为 Extract 处理的字节数。将该差值除以两次快照的时间间隔,即可得到处理速度。

第一次快照:

基于一个 2 节点 RAC 数据库

GGSCI (wewin1) 7> send extract ext_act1, status Current read positions: Redo thread #: 1 Sequence #: 1266 RBA: 134567004 Redo thread #: 2 Sequence #: 1063 RBA: 260113712

第二次快照(2分钟后):

GGSCI (wewin1) 8> send extract ext_act1, status Current read positions: Redo thread #: 1 Sequence #: 1268 RBA: 176425880 Redo thread #: 2 Sequence #: 1064 RBA: 265242016

归档日志文件大小:

  • arch_1_1266.arc: 300 MB
  • arch_1_1267.arc: 200 MB
  • arch_1_1268.arc: 800 MB
  • arch_2_1063.arc: 334 MB
  • arch_2_1064.arc: 1000 MB

计算处理的字节数:

  • 线程 1:(300 MB - 134567004/1024/1024) + 200 MB + 176425880/1024/1024 = 540 MB
  • 线程 2:(334 MB - 260113712/1024/1024) + 265242016/1024/1024 = 339 MB

Extract 在 2 分钟内处理了 540 MB + 339 MB = 879 MB,约为26.4 GB/小时

进一步估算:

假设未处理的归档/重做日志总大小为 60 GB,重做日志生成速度为 10 GB/小时:

  1. 处理现有日志所需时间
    60GB / 26.4 约等于 2小时16分钟

  2. Extract 追平延迟(lag=0)所需时间
    60/(26.4-10) 约等于 3小时40分钟

限制说明

  1. 当 Extract 挂起或处理极慢时,send extract <ext>, status命令可能会超时。
  2. 本文示例仅适用于 Oracle 数据库。对于其他数据库,如果检查点可转换为文件 RBA,也可采用类似思路估算。

其他方法

  • 在版本 11 中,可使用活动日志跟踪功能,在读取切换重做/归档日志时写入日志。可参考文档 1204284.1 中的“trace redo log switch similar as old parameter LOGSWITCHMSG”。
  • 在版本 10 中,可使用参数tranlogoptions LOGSWITCHMSG。由于日志不显示当前读取的 RBA,计算时应排除第一个和最后一个序列。

参考资料

  • MOS 文档 ID:1356524.1
http://www.jsqmd.com/news/290297/

相关文章:

  • 眼调节训练灯:青少年近视防控的新选择!
  • 这几个日常行为,真的能帮娃预防近视!快码住
  • 【开题答辩全过程】以 基于java的城市公交查询系统为例,包含答辩的问题和答案
  • 【饮料检测】基于matlab GUI饮料质量检测、类别和价格识别系统【含Matlab源码 15017期】
  • 【船舶仿真】基于matlab李亚普诺夫非线性的船舶航向回步自适应控制器设计【含Matlab源码 15018期】
  • 【PID控制】基于matlab GUI PID控制器调参设计【含Matlab源码 15021期】
  • 收藏夹里的尸体救活术:用AI一键构建知识的上帝视角
  • Uni-app 性能天坑:为什么 v-if 删不掉 DOM 节点
  • P11630 [WC2025] 士兵
  • 硬件电源电路设计杂项总结
  • 【图像增强】水下图像一致性增强评价系统【含GUI Matlab源码 15016期】
  • 【饮料检测】饮料质量检测、类别和价格识别系统【含GUI Matlab源码 15017期】
  • php-fpm + nginx 环境搭建配置与常见问题解决
  • 【配送路径规划】自适应双种群协同鸡群算法ADPCCSO求解带时间窗的骑手外卖配送路径规划问题(目标函数:最优路径成本 含服务客户数量 服务时间 载量 路径长度)【含Matlab源码 15015期】
  • 【船舶仿真】李亚普诺夫非线性的船舶航向回步自适应控制器设计【含Matlab源码 15018期】
  • nodejs基于vue兴趣班报名管理系统_g3td7
  • 【PID控制】PID控制器调参设计【含GUI Matlab源码 15021期】
  • 一种基于图形界面的Python代码自动生成软件的设计与实现
  • Spring AI Alibaba使用教程
  • Cirris Easy-Touch Pro扩展盒C150-ETPA高压电缆测试仪
  • 我觉得 OI 就应该让机器人来打
  • 实用指南:Vue3.x —— Vuex 状态管理
  • 拾光筑梦 向光而行——至圣集团合作伙伴答谢会在昆圆满举办
  • 小学生的题:求桌子多高
  • 掌握技巧:彻底消除错误代码0x80004005带来的困扰
  • 3.3V驱动MOS方法——稳压二极管+NMOS
  • 【两阶段鲁棒微网】【不确定性】基于关键场景辨别算法的两阶段鲁棒微网优化调度附Matlab代码
  • ant -vue a-table去掉表头
  • 【裂纹检测】检测和标记图片中的裂缝附Matlab代码
  • Tulsimer树脂在锂电高盐锂液深度除杂中的技术实践与应用