最近在学习 Oracle 数据库的迁移与升级,用到了 OGG 这块知识,故和大家在来学习一下。之前有过两篇相关文章,感兴趣的可点下方链接查看。
作者简介 桑凯 现任职于云和恩墨,具有多年 Oracle 数据库企业级运维经验,擅长容灾项目解决方案设计,作为项目经理负责多个基于 Oracle DataGuard 和 GoldenGate 的双中心
在配置GoldenGate同步DDL语句(2)中我们针对多种DDL语句在GoldenGate环境中的同步进行了测试,但在默认情况下replicat在复制DDL语句失败时不会在replicat report或者ggserr.log等日志文件中产生该DDL失败的具体信息,这就会导致我们在发现DDL同步有error的情况下无法了解失败的原因。之后又去翻官方的文档,在中找到了DDLOPTIONS参数:
今天对GoldenGate的数据同步进一步做了测试,发现在一些模拟真实的场景中,需要考虑的因素要更多更为复杂。简单同步几条,几百条数据的测试同步做验证测试可以,但是很难测试出来一些潜在的问题,今天碰到了一些问题,基本都得到了解决。 首先要测试的这个环境数据要多一些。导出了一个测试环境的数据进行OGG的复制演练。 test@TESTDB> select table_type from cat group by table_type TABLE_TYPE ----------- TABLE VIEW SYNON
昨天使用GoldenGate同步数据,数据量玩得有些大了。最后发现很多小问题变得更加严峻,比如空间问题。 而且由于没有更多的经验,导致这个问题被我引入了另外一个极端。 查看目标端的空间,一个临时创建的目录一下子满了,得清理一下空间了。 [oracle@newtest ogg_10g]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda5 9.9G 9.4G 17M 100% / 停止了目标端的replicat进程
注释:goldengate通过抽取源端日志写入trail(当然可以跳过),replicat应用trailfile中数据到目标端(可能是数据库也可能是消息队列中),replicat写入性能取决于ogg和目标端,ogg可能存在非优化配置或者目标端配置问题.
这个月我们同事对原来生产环境的 19c RAC 进行 schema 级别的拆分,将其从 RHEL7.6 RU 19.15 的两个 schema 拆分迁移到 RHEL7.9 RU 19.21 的 RAC 上,迁移前后表空间和 schema 名不变,唯一改变的则是 RU 补丁版本和数据库名及 IP 地址,同时也配置了 Oracle 到 Kafka 的数据同步,所以需要重新部署 OGG 来同步新迁移的数据,Oracle 到 Kafka 的数据同步可以参考我这篇使用 OGG12.3 同步 Oracle 部分表到 Kafka。
由于公众号单篇文章的限制,上一篇文章只讲OGG Microservices for oracle数据库安装与配置,对于如何通过WEB端配置数据同步、如何通过命令行查看与管理服务、进程以及简单故障处理都没有讲解,所以本篇主要讲解如何通过WEB端来配置数据同步(与GGSCI命令行创建与管理抽取、传输以及应用进程类似)以及如何通过adminclient来直接查看与管理服务以及进程。
关于Oracle GoldenGate (简称OGG)的 Lag at Chkpt和Time Since Chkpt的理解,前提需要理解OGG的每个进程都有它自己的checkpoint file。每当一个进程看到在事务的commit时,检查点文件中就将产生一个检查点。OGG的恢复进程总是以检查点作为起点。而OGG是通过监控的checkpoint和Lag at Chkpt和Time Since Chkpt这2个指标来衡量数据同步延迟时效的。
OGG学习笔记04-OGG复制部署快速参考 源端:Oracle 10.2.0.5 RAC + ASM 节点1 Public IP地址:192.168.1.27
2019-01-11 17:56:34 ERROR OGG-01296 Error mapping from SOURCE.AA to TARGET.AA
实验环境: 源端:192.168.1.30,Oracle 10.2.0.5 单实例 目标端:192.168.1.31,Oracle 10.2.0.5 单实例
查看目标端的SCN号,记录该SCN号(得到该SCN号之后,启动复制进程时,使⽤该SCN号)
今天试了下搭建GoldenGate,搭建的过程也简单总结了一下。 目前源数据库是newtest2 目标数据库是dataguru 都是11.2.0.4.0版本 关于GoldenGate的下载可以到下面的链接下载 http://www.oracle.com/technetwork/middleware/goldengate/downloads/index.html 在11g中,存在一个和GoldenGate有关的参数,默认是false,我们需要在源库,目标库都开启 SQL> show parameter
GoldenGate软件是一种基于日志的结构化数据复制软件。GoldenGate 能够实现大量交易数据的实时捕捉、变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒级的数据延迟。
2、对于抽取进程所在的文件系统损坏或者被删除的情况,这个重建需要依赖应用进程或者传输进程,需要具体问题具体分析(如果文件损坏或误删除,大概率传输也会遭殃(具体情况具体分析),所以依赖应用进程比较靠谱)
环境: 源端:Oracle12.2 ogg for Oracle 12.3 目标端:Kafka ogg for bigdata 12.3 将Oracle中的数据通过OGG同步到Kafka
1、采用数据库的同步数据方式,例如以oracle代表采用基于日志物理同步方式,支持最大保护模式、最大可用模式、最大性能模式3种,以mysql为代表采用基于binlog日志逻辑同步方式.数据同步性能受到主备之间网络、主库事务大小、备库IO性能以及备库是否采用并行复制等
OGG简介(GoldenGate) OGG 是一种基于日志的结构化数据复制软件 OGG 能够实现大量交易数据的实时捕捉,变换和投递,实现源数据库与目标数据库的数据同步,保持最少10ms的数据延迟。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy0623/article/details/53895301
On OGG Big Data Server * Configure Redshift JDBC Parameter Name: jdbc_redshift.props
由此可见,GoldenGate TDM的复制模式非常灵活,用户可以根据自己的需求选择特定的复制方式,并根据系统扩展对复制进行扩展。
D:\Oracle官方文档\E11882_01\install.112\e24326\toc.htm
如上图所示,OGG主要包含Manager进程、Extract进程、Pump进程、Replicat进程,下面对其进行说明:
最近有朋友反应说绿盟软件扫描系统,发现系统有7840端口使用,需要更改7840端口,因为属于不安全端口,需要进行修改,但是通过更改DYNAMICPORTLIST后,扫描依然出现7840.
有时候随着业务的需要,需要将 Oracle 的部分数据通过 Kafka 进行分析,以获取最大的数据价值。那么就需要通过 OGG 抽取数据同步到 Kafka 了,搭建过程可查看上文,今天记录下遇到的一个罕见的错误,问题是这样的,通过 OGG 同步 Oracle 11g 数据到 Kafka 的一个应用进程 rep1,运行一段时间突然异常 ABENDED,查看日志报错如下:
经常有朋友遇到ogg数据不一致或者遇到ogg replicate进程abend,比如1403错误之类,然后排除原因,大部分出现问题都是配置问题(少数情况下是bug),会造成业务统计数据不准或者涉及金额更麻烦(大库就比较麻烦,尤其报表库,主库数据都删除,报表数据不准了,最后pk吧),ogg虽然入门相对简单,使用这些参数之前,一定了解作用以及什么场景下适合使用。另外hanlecollisions与allownoopdates配合使用时候,allownoopdates作用失效.
核心replica.logEndOffset.offsetDiff(leaderHW) >= 0 如果当前replica的LEO大于等于Leader的HighWaterMark, 则表明该replica的同步已经跟上了leader, 将其加入到ISR列表中,更新本地的metadata ISR缓存同时更新zk上/brokers/topics/[topic]/partitions/[parition]/stat的节点内容;
目前,比较常用的数据同步软件有 CDC(Oracle Change Data Capture 变更数据捕获)、迪思杰(DSG)、九桥软件 DDS、OGG 、Debezium、Flink CDC、阿里 dataX 等等,今天在来聊聊 OGG 基础知识(注意:以下为两年前的旧文分享)。之前也有关于 OGG 基础知识的介绍文章,感兴趣的可点此链接查看。
Best Practice for Data migration from Oracleto Tidb
https://blog.csdn.net/m0_50546016/article/details/112525017
一个三个es进程组成的es集群,约定了该index有三个primary shard,三个replicat shard 分布式es的框架图demo
说 明:源端 Oracle 数据库版本 19c, ogg 19.1 源端也可以是 11.2.0.4 db,ogg 版本 12.3.0.1.2 目标端:Kafka 版本 kafka_2.11-2.0.0(本次不涉及) ogg for bigdata 12.3.2.1.1
当所有在Extract 启动之前的开始的交易都完成后,我们就可以使用RMAN 备份生产 端的数据库了。备份数据库的过程中一定要密切监控Extract 进程的状态,保证其一 直正常运行:
字段映射关系请参考: https://blog.csdn.net/weixin_34128839/article/details/91644197
OGG “Loading data from file to Replicat”table静态数据同步配置过程
大神们在群里讨论微服务的高可用,主要是XAG不支持adminclient接口,只支持ggsci接口,经过查看官方文档说明,最新版本XAG已经支持adminclient接口,ORACLE CLUSTER不仅仅支持ORACLE DATABASE也可以来管理各种资源实现高可用,OGG高可用管理主要依赖XAG插件。本文主要讲述如何通过ORACLE CLUSTER加上XAG实现OGG Microservices微服务的高可用。
由于虚拟机宿主机重启,导致很多虚拟机服务需要重点关注,其中一个DG的从库和另一个report库有OGG同步,所以这里再系统恢复后检查OGG状态的时候,果然目标端的REPLICAT进程处于abend状态,重启也无效,具体信息如下:
我之前在《使用SQL计算宝宝每次吃奶的时间间隔(数据保障篇)》中提到数据实时同步的方案,其中有一种是数据表通过OGG进行同步,当时没有详细展开测试,只给了之前学习OGG时的配置示例。由于之前很少接触OGG的管理运维,最近在进行实际测试时遇到些问题,虽然不难,但也是初学者常遇到的问题,所以记录下这个过程。
OGG有传统的经典架构,也有最新的微服务,2个都可以远程捕获和应用数据,对数据库服务器是0侵入,而传统的经典架构是纯命令行模式,最新的微服务架构是图形化界面操作,几乎所有操作都可以在界面进行。相关文章可以参考:
客户需要将华为云rds for MySQL和天翼云rds for MySQL做一个双向同步,当华为云rds宕机的时候,可以切换到天翼云继续提供服务,而且此时,天翼云的数据也可以自动同步到华为云rds,平时只使用华为云的rds,和双A方案有点差异,需要注意的是rds环境不能安装任何的软件,所以,我目前想到的方案有:
本文阐述了从Oracle实时同步到Hadoop集群的架构实践,分析了如何实现高效、稳定、易维护的同步方案。通过在两个集群上部署OGG,利用Oracle GoldenGate技术实现数据的实时同步,并阐述了如何通过业务逻辑编排实现多个集群之间的数据同步。同时,本文还提供了同步后的数据治理方案,以保障数据的一致性和可用性。
https://cloud.tencent.com/developer/article/1004462
GOLDENGATE版本是11.2.1.0.5和12.2.0.1.1,使用2个版本主要说明12c与11g变化.
我们通过GoldenGate技术在Oracle DB和Kafka代理之间创建集成,该技术实时发布Kafka中的CDC事件流。
OGG学习笔记01-基础概述 OGG(Oracle Golden Gate),最近几年在数据同步、容灾领域特别火,甚至比Oracle自己的原生产品DataGuard还要风光,主要是因为其跨平台、跨数据库、跨版本的强大特性。
源端环境:RHEL 6.5 + Oracle 11.2.0.4 RAC + OGG 19.1.0.0.4 目标端环境:RHEL 7.6 + Oracle 19.3 + OGG 19.1.0.0.4 故障现象:源端表结构某字段数据类型长度增加,并插入对应数据,目标端因还是之前的数据类型长度,导致应用进程无法更新对应数据进而导致ABENDED,一般来说,只需目标端依据源端修改为一致的字段长度即可,但这里发现依然会ABENDED,且报错信息不变。
最终,在Oracle端共包括16张表,2个视图,其中2个表TSRSLOB和IMAGE_LOB包括了blob和clob字段。
领取专属 10元无门槛券
手把手带您无忧上云