问题标签 [oracle-golden-gate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
608 浏览

oracle - Oracle OGG-00435 - 必须是 PURGE、APPEND、RESTART、MEGABYTES 或 MAXFILES

我正在部署 Oracle Golden Gate。

启动数据泵时,程序抛出错误:

详细错误行:

命令:View report pump001输出:

这是我的数据泵配置:

0 投票
0 回答
45 浏览

oracle - Oracle 11g 中的连接复制

我在服务器 A、服务器 B 和服务器 C 中有 Oracle 11g DB。我必须从服务器 A--> 服务器 B--> 服务器 C 设置复制。在我的 sql 中我能够成功,因为我是新手Oracle,如果这在 Oracle 11g 中也是可能的,请指导我,如果可以,我应该从哪里开始。我已经经历了各种选择,因为金门似乎是前进的方向,请让我知道如何开始?

我曾尝试使用 Oracle 流进行复制,但在链接失败的情况下遇到的问题很少。

0 投票
1 回答
55 浏览

oracle - Oracle数据库同步硬件解决方案?

我是 Oracle 系统上的新人。我正面临与 Oracle 数据库同步相关的问题。

我们有 2 个数据库(A 和 B)。数据库 A 通过 Oracle GoldenGate 同步到数据库 B。当太多记录插入数据库 A 时,Oracle GoldenGate 就会崩溃。

您能否为这个问题提出另一种解决方案?如果可用,我们对物理硬件解决方案感兴趣。

谢谢你。

0 投票
1 回答
3724 浏览

apache-kafka - 使用 Kafka 最佳实践的 Oracle 变更数据捕获

我正在做一个项目,我们需要将实时更新从 Oracle 流式传输到一堆系统(Cassandra、Hadoop、实时处理等)。我们计划使用 Golden Gate 从 Oracle 捕获更改,将它们写入 Kafka,然后让不同的目标系统从 Kafka 读取事件。有很多设计决策需要做出:

在更新时将哪些数据写入 Kafka?

GoldenGate 以记录 ID 和更新字段的形式发出更新。这些更改可以通过以下三种方式之一写入 Kafka:

  • 全行:对于每个字段更改,发出整行。这给出了“对象”的完整表示,但可能需要进行查询才能获得完整的行。
  • 仅更新字段:最简单,但使用起来有点奇怪,因为您永远无法轻松访问对象的完整表示。如何将其写入 Hadoop?
  • 事件:可能是最简洁的格式(并且最适合 Kafka),但是将数据库字段更新转换为事件需要大量工作。

在哪里执行数据转换和清理?

Oracle DB 中的模式是由第 3 方 CRM 工具生成的,因此不太容易使用 - 有奇怪的字段名称、翻译表等。这些数据可以在 (a) 源系统之一中清理,( b) Kafka 使用流处理,(c) 每个目标系统。

如何保证并行消费者的有序处理?

Kafka 允许每个消费者读取不同的分区,其中每个分区都保证是有序的。选择主题和分区的方式需要保证每个分区中的消息完全独立。如果我们为每个表选择一个主题,并根据 record_id 将记录散列到分区,这在大多数情况下应该可以工作。但是,当添加一个新的子对象时会发生什么?我们需要确保它在父级使用它的 foreign_id 之前得到处理

0 投票
1 回答
1729 浏览

java - 当 transactionCommit() 失败时 Oracle GoldenGate Java 适配器丢失数据

我目前正在开发一个自定义处理程序来提供 Oracle 更改日志。

当发生一些错误时,通常我可以抛出 RuntimeException 或返回 Status.ABEND。然后 OGG 将记录错误并停止该过程。

以下代码在 operationAdded() 失败时运行良好(即,Extract 进程将报告异常结束,而当 Extract 错误后重新启动时,整个失败事务的操作将重新发送给处理程序)。

但是,当 transactionCommit() 函数发生错误时,OGG 无法按预期工作。抛出 RuntimeException 和返回 Status.ABEND 都不能停止提取。OGG 就像什么都没发生一样继续工作。(以下代码)

我试图杀死并重新启动提取过程。失败的事务没有重新发送到处理程序。似乎所有失败的交易数据都丢失了!

以下是transactionCommit()中返回Status.ABEND的日志:

有人知道如何解决这个问题吗?提前致谢!

0 投票
3 回答
2112 浏览

oracle-golden-gate - Oracle Golden Gate 版本 12.1.2 DBLOGIN 抛出错误

我无法从 GGSCI 中登录 GGS_OWNER。我可以从 sqlplus 登录,但是当我尝试通过 GGSCI 登录时,它会引发错误:

GG Version: 12.1.2 Database version: 12c Type of replication: Integrated Capture Replication setup: Unidirectional DML replication

分段故障

0 投票
1 回答
3186 浏览

oracle-golden-gate - 如何在 Goldengate oracle 中的复制(目标系统)中跳过事务

要求:

源表包含 5 列。我们在目标上复制 5 列中的 3 列。SEQ_ID 是目标上的附加列。

对不在目标表中的列执行更新操作时,增加 SEQ_ID。仅当对目标上存在的列执行更新时,SEQ_ID 才应增加。

在要复制的选定列(ID、AGE、COL1)上启用无条件补充表级别日志记录:

来源:表名:Test1(ID,AGE,COL1,COL2,COL3)

目标:表名:Test1(ID,AGE,COL1,SEQ_ID)

我们创建了一个序列来在插入或更新发生时增加 SEQ_ID。

场景:如果在这些列(ID,AGE,COL1)上的源表上发生插入或更新,则增加 SEQ_ID,并且如果在其他列(COL2,COL3)上发生更新,则 SEQ_ID 也会增加。

我们的要求是当其他列(COL2,COL3)发生更新时,SEQ_ID 不应该增加。我想跳过 column(COL2,COL3) 上发生的更新事务。

来源:主提取 test_e1 EXTRACT TEST_e1 USERID DBTUAT_GG,PASSWORD dbt_1234 EXTTRAIL /DB_TRACK_GG/GGS/dirdat/dd GETUPDATEBEFORES --IGNOREUPDATES --IGNOREDELETES NOCOMPRESSUPDATES TABLE HARI.TEST1,COLS(ID,AGE,COL1),FILTER (ON UPDATE,IGNORE UPDATE , @STREQ(之前.AGE, AGE) = 0);

数据泵 test_p1: EXTRACT TEST_P1 USERID DBTUAT_GG,PASSWORD dbt_1234 RMTHOST 10.24.187.235, MGRPORT 7809,
RMTTRAIL /Trail_files/tt --PASSTHRU TABLE DBTUAT_GG.TEST1;

目标:目标 Repcat 文件:编辑参数 test_r

REPLICAT TEST_R USERID GGPROD,PASSWORD GGPROD_123 SOURCEDEFS ./dirsql/def32.sql HANDLECOLLISIONS IGNOREDELETES INSERTMISSINGUPDATES MAP HARI.TEST1, TARGET HARI.TEST1, & SQLEXEC (ID test_num,QUERY "select GGPROD.test_seq.NEXTVAL test_val from dual", NOPARAMS), & COLMAP(USEDEFAULTS,SEQ_ID=test_num.test_val);

请提出任何可能的解决方案。

0 投票
1 回答
2076 浏览

oracle-golden-gate - Goldengate purgeoldextract 不工作

几个月来我一直在处理这个问题。我有一个经理进程,应该自动删除已处理的跟踪文件。它在其他服务器上工作。

0 投票
0 回答
1326 浏览

mysql - MySQL:如何在 MySQL 5.1 中启用 InnoDB 引擎

我正在尝试为 MySQL 5.1.72 启用 InnoDB 引擎,因为我必须将它与 Golden Gate 集成(将数据库更改推送到缓存)。有人可以分享任何信息吗?

0 投票
1 回答
380 浏览

oracle - 通过 API 从 Golden Gate 获取 LAG EXTRACT

除了使用 ssh 客户端(GGSCI)之外,还有什么方法可以从 Golden Gate 数据库中提取延迟?我需要将它与 java 应用程序集成,我正在寻找最快和最有效的解决方案。我只找到了一种方法来做到这一点