问题描述
我正在捕获oracle 12c db中的表的审计,并使用goldengate将它们放在18c中。
我们正在尝试构建类似于flashback data archive提供的内容。
我们不能使用FDA,因为它导致来源之间的显著 (不断增加) 滞后
和目标尽管甲骨文提供了几个补丁。
我们希望能够:
1) 仅通过查看目标中审核表中的数据,就可以确定一个事务中发生了哪些插入/删除/更新。
2) 我们希望能够正确地对这些交易进行排序。
这将帮助我们回到过去,找出数据库在任何给定时间的样子。
只要可以识别交易顺序,源和目标之间的较小延迟 (例如5-10分钟) 就可以了。
似乎捕获systimetamp将不起作用,因为我在文档中发现了以下内容:
链接:https://docs.oracle.com/en/middleware/goldengate/core/18.1/oracle-db/using-oracle-goldengate-oracle-database.pdf
“Integrated Replicat applies transactions asynchronously. Transactions that do not
have interdependencies can be safely executed and committed out of order to achieve
fast throughput. Transactions with dependencies are guaranteed to be applied in the
same order as on the source.”
对于并行副本似乎也是如此。
我知道COMMIT_SERIALIZATION参数,但这可能会导致滞后,而且我不认为这一定意味着时间戳会捕获正确的顺序。
我在同一个链接中注意到,Oracle建议以下表达式进行订购操作。下面会起作用吗?
@ COMPUTE(@ NUMSTR(@ GETENV (“记录”,“文件”))* 100000000000) @ NUMSTR(@ GETENV (“记录”,“文件”)
请注意,同一主键在一秒钟内有几个交易。
我为一个长时间的查询道歉!
我们正在尝试构建类似于flashback data archive提供的内容。
我们不能使用FDA,因为它导致来源之间的显著 (不断增加) 滞后
和目标尽管甲骨文提供了几个补丁。
我们希望能够:
1) 仅通过查看目标中审核表中的数据,就可以确定一个事务中发生了哪些插入/删除/更新。
2) 我们希望能够正确地对这些交易进行排序。
这将帮助我们回到过去,找出数据库在任何给定时间的样子。
只要可以识别交易顺序,源和目标之间的较小延迟 (例如5-10分钟) 就可以了。
似乎捕获systimetamp将不起作用,因为我在文档中发现了以下内容:
链接:https://docs.oracle.com/en/middleware/goldengate/core/18.1/oracle-db/using-oracle-goldengate-oracle-database.pdf
“Integrated Replicat applies transactions asynchronously. Transactions that do not
have interdependencies can be safely executed and committed out of order to achieve
fast throughput. Transactions with dependencies are guaranteed to be applied in the
same order as on the source.”
对于并行副本似乎也是如此。
我知道COMMIT_SERIALIZATION参数,但这可能会导致滞后,而且我不认为这一定意味着时间戳会捕获正确的顺序。
我在同一个链接中注意到,Oracle建议以下表达式进行订购操作。下面会起作用吗?
@ COMPUTE(@ NUMSTR(@ GETENV (“记录”,“文件”))* 100000000000) @ NUMSTR(@ GETENV (“记录”,“文件”)
请注意,同一主键在一秒钟内有几个交易。
我为一个长时间的查询道歉!
专家解答
谢谢你的耐心。我联系了GoldenGate团队的尼克。他在下面的回应
Check the following MOS note to ensure the correct method and setup to order transactions.
"What Tokens need to included in the transaction to make it unique for Insertallrecords to be used in the replicat (Doc ID 1340823.1)"
but other than that, there is no way to do what they want in Integrated Replicat, as it will always use multiple threads to apply the transactions that can be done in parallel, it just ensures that the *commit* order is always correct. If they don’t want to use the method above, they would need to switch to classic replicat, which is REALLY slow compared to Integrated Replicat.
Check the following MOS note to ensure the correct method and setup to order transactions.
"What Tokens need to included in the transaction to make it unique for Insertallrecords to be used in the replicat (Doc ID 1340823.1)"
but other than that, there is no way to do what they want in Integrated Replicat, as it will always use multiple threads to apply the transactions that can be done in parallel, it just ensures that the *commit* order is always correct. If they don’t want to use the method above, they would need to switch to classic replicat, which is REALLY slow compared to Integrated Replicat.
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
694次阅读
2025-04-18 14:18:38
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
635次阅读
2025-04-15 17:24:06
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
547次阅读
2025-04-20 10:07:02
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
494次阅读
2025-04-17 17:02:24
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
490次阅读
2025-04-22 00:20:37
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
481次阅读
2025-04-22 00:13:51
一页概览:Oracle GoldenGate
甲骨文云技术
470次阅读
2025-04-30 12:17:56
火焰图--分析复杂SQL执行计划的利器
听见风的声音
418次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
372次阅读
2025-04-15 14:48:05
OR+DBLINK的关联SQL优化思路
布衣
358次阅读
2025-05-05 19:28:36