暂无图片
Goldengate同步表delete从Oracle到Oracle但不同步每天定时清理源库过期数据delete的方案?
我来答
分享
aknight
2024-07-11
Goldengate同步表delete从Oracle到Oracle但不同步每天定时清理源库过期数据delete的方案?

现在有Oracle19c DB1 用Goldengate同步到 Oracle19c DB2

比方有个表, T1, 正常是数据全部同步,从DB1 到 DB2

现在有个需求是,保持表, T1, 正常是数据全部同步,从DB1 到 DB2的同时,表T1在DB1需要定时清理过期数据,比方要运行delete from T1 where date > sysdate-30, 要求就是只是这个清理的delete from T1 where date > sysdate-30,不能同步到DB2清理。

换句话说,正常delete要goldengate同步 表, T1,从DB1 到 DB2的。如果每天定时清理旧数据的delete delete from T1 where date > sysdate-30,,不能同步。 DB1要清除过期数据,DB2要保留,但是要同步常规的delete.

各位大神,有什么建议的实现思路?方案大纲,概要即可,多谢

我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
forever

ogg可以过滤特定用户的操作,定时任务设置单独用户就可以了

暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
aknight
题主
2024-07-23
谢谢,ogg可以过滤特定用户的操作,看过什么文档,或者案例,能参考参考不? 看了官方文档,好像没注意到有相关内容
forever
答主
2024-07-24
TRANLOGOPTIONS EXCLUDEUSER 可以参考下:https://blog.51cto.com/renzhiyuan/5377582 你可以直接搜ogg过滤特定用户,案例有很多哦,用的做多的是双向同步时排除ogg的同步用户
aknight
题主
2024-07-25
非常感谢。找到了 TRANLOGOPTIONS EXCLUDEUSER PDBXYZ.SCOTT https://docs.oracle.com/en/middleware/goldengate/core/21.3/reference/tranlogoptions.html
伟鹏

这个你可以在抽取进程里面使用Filter内置函数
只对操作 delete 条件date > sysdate-30 过滤掉就行了

暂无图片 评论
暂无图片 有用 0
打赏 0
aknight
题主
2024-07-13
https://docs.oracle.com/en/middleware/goldengate/core/21.3/coredoc/administer-mapping-and-manipulating-data.html#GUID-64130B77-5D38-4BC3-94CE-CE9C2B56BAD0 TABLE source_table, , FILTER ( [, ON INSERT | ON UPDATE| ON DELETE] [, IGNORE INSERT | IGNORE UPDATE | IGNORE DELETE] , filter_clause); 不好意思,这里,抽取进程里面使用Filter内置函数,好像只能过滤掉条件date > sysdate-30,来不同步delete。 但是比如有个随机删除的,date > sysdate-30的,还是要同步的,这样过滤掉,估计会漏掉同步了。谢谢!
伟鹏

你这样的需求的话,ogg应该是满足不了

暂无图片 评论
暂无图片 有用 0
打赏 0
情线

你可以针对T1表做一个触发器,对T1表的所有插入操作同步到本地的另外一张表中

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
OGG-19.1,在源端和目标端的mgr进程参数中,配置参数都注释掉了,源端投递进程,配置信息,但在源端通过命令查看投递信息,看到Remote address 192.168.8.10:7819, 这7819是OGG的端口号吗?
回答 2
如下图:
Oracle 建表空间的时候,建了"test_A"和"test_a"两个表空间,但用impdb的remap导入时不区大小写,怎么办?
回答 1
已采纳
首先,oracle强烈不建议对象名用小写。另外如果说你是想将带小写的表空间下数据导出到其他库,可以用参数TRANSFORMsegmentattributes:n去掉存储子句。避免这个问题
请教相对11g的多实例,19c的多pdb会减少资源占用吗?
回答 1
资源使用情况会小的,至少少多少,不好说
alert log里面有大量的这个错误是什么原因,怎么排查?
回答 1
有几种可能的情况会导致这种情况发生:客户端在启动连接后立即关闭了连接客户端崩溃防火墙终止连接客户端设置了一些oracle超时建议检查客户端应用或客户端tnsnames.ora中的超时参数
话说数据库跟cpu的关系大么?
回答 2
已采纳
cpu对数据库影响很大。这个问题是不是不够清晰,是不是还得明确一下,什么库,多少业务,多少cpu才能分析出影响度。
开窗函数虚拟伪劣无法固定
回答 4
已采纳
因为关联cdmccontract这个表的时候是左关联的右侧,因此关联查询后,这个字段可能有空值,当条件等于一个非空值时,会把空的记录都过滤掉,同一个partition内的行数发生了变化,序号就不一样了
ORA-600 [kcffo_online_pdb_check: fno_system], [3]
回答 1
找一个类似的案例,可以先参考一下。http://rss.xifenfei.com/ora600kcffoonlinepdbcheckfnosystem%e5%92%8cora600kcvfdbpdbs
RAC的心跳PRIV是做两个不一样的私有IP好,还是做个主备的BOND好?
回答 1
如果os和交换机有bonding还是采用bond更好
[17294] uncategorized SQLException for SQL []; SQL state [99999]; error code
回答 2
已采纳
这个具体是执行了什么语句?
这个kfed 处理方式 , aun 参数 没看懂,有没有大佬来解释下?
回答 1
已采纳
回答:AUN参数是指:检查或更新的AU号,默认是AU0或asm的磁盘头,AUN4是4号AU的意思。其中1号文件总是开始在0号磁盘2号AU,这是ASM中定位文件的起点,它的作用,有点相当于磁盘上的引导区