拓扑园

  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
    • 标准化文档系列
  • 技术研究-密保
    • FG-MySQL
    • FG-Docker/K8S
    • FG-PostgreSQL
    • FG-ORACLE_BBED
    • FG-ORACLE
    • FG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 图灵小队
    • MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • PG安装配置于RHEL/9X系列-运行环境最优配置
    • 自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • 图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • 图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • 图灵小队-Oracle常用性能查询SQL语句(文章)
    • 图灵小队-Oracle数据库上线前检查(文章)
    • 图灵小队-Oracle常用SQL语句(文章)
    • 图灵小队-Oracle脚本合集(文章)
    • 图灵小队-Oracle技巧记录(文章)
    • LLL的Oracle培训(目录)
    • LLL的docker培训(目录)
    • 标准化文档系列(目录)
    • Oracle/MySQl等面试题
    • 图灵小队
  • Oracle
    • Oracle
    • ADG
    • RAC
    • ASM
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
    • OGG
    • RMAN
  • 云计算
    • 云计算
    • docker
    • kubernetes
  • Linux
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 数据中心
    • EBS数据文件库容
    • VMware虚拟化
    • mysql
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
Oracle数据库恢复专家团队:TEL:18562510581(微信同号);QQ:284833194;QQ群:496333360
天高任鸟飞
  1. 首页
  2. 图灵小队
  3. 正文

OGG管理-HANDLECOLLISIONS参数用法(转)

2022年3月28日 385点热度 1人点赞 0条评论

目录

  • 1、对于没有主键以及唯一索引的表(HANDLECOLLISIONS不起作用)
  • 2、对于存在主键
  • 3、对于存在唯一值索引

转:原文链接:https://blog.csdn.net/oradbm/article/details/52104886

---------最好别用

1、对于没有主键以及唯一索引的表(HANDLECOLLISIONS不起作用)

对于update缺失行情况,目标库会转化为insert语句进行插入。
对于delete缺失行情况,目标会会忽略操作。
对于insert发现重复行情况,目标库会仍然进行插入操作。(导致数据重复) ----不受HANDLECOLLISIONS参数影响,继续插入

2、对于存在主键

对于update缺失行情况,且抓取进程不使用fetchoptions fetchpkupdatecols参数,更新主键则目标库转化为insert操作,如果未更新主键则忽略。
对于delete缺失情况,则忽略,
对于insert发现重复行情况,转化成update语句,将重复列更新主键值为原来插入主键值。

3、对于存在唯一值索引

对于update缺失行情况,目标库会转化为insert语句进行插入。
对于delete缺失行情况,目标会会忽略操作。
对于insert发现重复行情况,目标库执行先delete操作然后再insert。

1 参数作用于update及delete缺失行,以及包含主键条件下的insert

In this Document
Goal
Solution
Explanation of HANDLECOLLISIONS
HANDLECOLLISIONS and PKUPDATES:
HANDLECOLLISIONS and KEYCOLS
Applies to:
Oracle GoldenGate - Version: 4.0.0 and later [Release: 4.0.0 and later ]
Information in this document applies to any platform.
Goal
What does the Oracle GoldenGate (OGG) Replicat parameter HANDLECOLLISIONS do?
Solution

Explanation of HANDLECOLLISIONS
HANDLECOLLISIONS is a Replicat parameter that is mainly used during initial loads. It lets you continue processing data in a trail even when there is a data integrity problem in the target environment, such as a missing row for an update, a missing row for a delete, or a duplicate insert.
When the HANDLECOLLISIONS parameter is set, data is processed as follows : - --- 针对包含主键
Missing updates are ignored. 对于更新主键,则转化为insert。
Missing deletes are ignored.
Duplicate inserts are turned into updates.

To enable this functionality, add the HANDLECOLLISIONS parameter to your Replicat parameter file. You can use it for a specific table or globally. After adding it, stop and start Replicat for it to take effect.

You can enable HANDLECOLLISIONS dynamically, without stopping Replicat by using the SEND command as follows:

GGSCI> SEND REPLICAT <NAME>, HANDLECOLLISIONS [<owner.table_name>]

To see whether HANDLECOLLISIONS is enabled, use the SEND command as follows:

SEND REPLICAT <NAME>, REPORT HANDLECOLLISIONS [<owner.table_name>]

It is NOT recommended to have HANDLECOLLISIONS active all of the time, because you may introduce data inconsistencies to the target. Processing will continue according the the rules stated previously, even if data is missing or duplicated. The main use of HANDLECOLLISIONS is when you start Replicat after an initial load during which source user applications remained online and GoldenGate captured their changes. HANDLECOLLISIONS resolves those ongoing changes with the changes made by the load. HANDLECOLLISIONS also can be used when you reposition Replicat backward in a trail to resolve other issues.

The default setting for replicat is NOHANDLECOLLISIONS

From GoldenGate version 8.0.2.1 and above, you will see a collision count for duplicate inserts in the Replicat statistics or report file when Replicat has been stopped.

HANDLECOLLISIONS and PKUPDATES:

If the missing update is a primary key update then replicat will try to insert the record rather than ignore it. However, the record in the trail to be inserted may not be a full image when the insert is attempted. The full image is required to do a PKUPDATE.

To get the full image for a primary key update, the parameter:

FETCHOPTIONS FETCHPKUPDATECOLS

needs to be added to extract parameter file and extract needs to be restarted. This will cause the extract to capture the full image for primary key update.

如果想要获取到主键更新的redo全镜像,则必须要在源端抽取进程中添加FETCHPKUPDATECOLS参数,否则目标端更新数据则会丢失非主键列的镜像。

注意:该参数要和目标端的 HANDLECOLLISIONS 一起使用才能保证主键更新在目标端成功!

HANDLECOLLISIONS and KEYCOLS

Handlecollisions and DML operations on tables without primary keys or unique index works differently even when KEYCOLS
————————————————
版权声明:本文为CSDN博主「执笔画情ora」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/oradbm/article/details/52104886

标签: 暂无
最后更新:2022年3月29日

admin

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号