OGG-Veridata如何对比没有主键的表?
时间:2021-09-09
本文章向大家介绍OGG-Veridata如何对比没有主键的表?,主要包括OGG-Veridata如何对比没有主键的表?使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、需求,OGG使用Veridata如何对比没有主键的表?
参考资料
veridata如何安装、使用图形化,学习如下
https://blog.csdn.net/oradbm/article/details/109464000
官方文档
https://docs.oracle.com/goldengate/1213/gg-veridata/GVDAD/configuration_parameters.htm#GVDAD1109
MOS
二、阅读MOS
APPLIES TO: Oracle GoldenGate Veridata - Version 2.1.0.2 and later Information in this document applies to any platform. GOAL How do we use Oracle GoldenGate (OGG) Veridata for tables without primary key (pk) or unique index? SOLUTION Veridata will auto detect PK/UI on compare tables when the table compare pairs are created. But if you don't have a PK/UI on the compare tables,
you can still use Veridata. You'll just have to manually configure the compare to include a column or multiple columns that will function as the table key and uniquely identify each row. To define your own keys for a compare, go to: Configuration >> Group Configuration, select a Group, select the link: Go To Compare Pair Configuration, then click on the Edit link under Column Mapping
and then the Column Mapping tab. Under Key Mapping Method, click the User Defined radio button and Use Specific Columns on Source and Target Keys. Then click the User Defined radio button under Comparison Column Mapping Method. It will open the Mapping Type at the bottom of the page to allow you to click the radio buttons to define which columns are keys and which should be hashed/literally compare or excluded. Hit Save when you are done and then Validate. The columns you choose as key columns must uniquely identify the row. Otherwise, data can be flagged as out-of-sync when it actually isn't. If you aren't sure which values uniquely identify the rows, select all columns as keys. This still doesn't ensure uniqueness, but it will be the same as doing a literal compare of the rows. It would also help Veridata performance if the columns selected as keys were indexed. The Veridata initial compare uses a full table scan so an index will
not be needed for this step. However, if any rows are identified as out-of-sync, Veridata performs a confirm out-of-sync step on each of these records, querying for these specific records to see if they have changed since the time of the initial compare. This step will be extremely slow if the selected
key column is not indexed. For 12.2.x Release of Veridata Server, please see Section 1.3.2 of the Administrative Guide; https://docs.oracle.com/goldengate/v1221/gg-veridata/GVDAD/E60970-01.pdf 1.3.2 Satisfying Uniqueness Requirements Oracle GoldenGate Veridata relies on some form of unique identifier to order rows for comparison. ■ Primary Key: By default, Oracle GoldenGate Veridata uses the primary key if one is available. ■ Unique Key: If no primary key is defined, Oracle GoldenGate Veridata uses the smallest unique index ■ User-defined Key: If a table or file has neither a primary nor unique key, you can define an existing index or set of columns for comparison purposes when defining a compare pair. However, although primary or unique keys can be mapped automatically, user-defined keys must be mapped manually. A user-defined key can also be used to override existing keys or indexes if you prefer a different ordering method. For more information about choosing and mapping keys for comparison, see the Oracle GoldenGate Veridata online help OGG Veridata Validation Fails With 'Index Validation Failed Because There Were no Mappable Columns' (Doc ID 1361526.1)
基本上一个套路,对没有主键、唯一列的字段,选择自定义map对比校验。 三种对比模式,我们最安全的方式选择key的对比,将所有字段选择!!! 人为工作量增加,但是更安全可靠!!!
原文地址:https://www.cnblogs.com/lvcha001/p/15246281.html
- Canvas 图片平铺设置
- Canvas 给图形绘制阴影
- State模式的经典应用场景:订单处理(c#实现)场景描述遇到问题解决问题走起
- ASP.NET SignalR 2.0入门指南介绍SignalRSignalR和WebSocket传输和回滚HTML5 传输协议Comet transports传输协议选择过程监测传输指定传输协议连接
- ASP.NET5之客户端开发:Grunt和Gulp构建工具在Visual Studio 2015中的高效的应用Grunt和Gulp使用Grunt准备项目配置NPM配置Grunt集成起来监测文件变化与V
- 有趣的算法(三)——Hash算法
- JavaScript中的数据类型
- Logistic回归算法及Python实现
- <script>元素在XHTML中的用法
- 有趣的算法(四)——一致性Hash算法模拟redis集群
- ASP.NET5 中静态文件的各种使用方式服务端的静态文件开启目录浏览呈现默认文件使用UseFileServer方法文件类型基于IIS的考虑最佳实践
- 使用ASP.NET Identity以手机短信实现双重验证创建一个ASP.NET 5项目运行应用程序使用SMS短信进行双重验证开启双重验证使用双重验证登陆应用程序禁用账户来防止暴力破解
- ASP.NET 5 之 错误诊断和它的中间件们配置错误处理页面在Development阶段使用错误页面运行时信息页面欢迎页面
- 有趣的算法(五) ——Dijkstra双栈四则运算
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- SpringCloud微服务:基于Nacos组件,整合Dubbo框架
- [译] 使用 microbundle 打包 TypeScript 组件库
- 3分钟短文 | Laravel 获取模型查询生成的SQL语句
- 基于git的测试用例管理方案
- 【赵渝强老师】MongoDB管理用户的认证机制
- 使用Microsoft Teams Updater执行代码
- 腾讯云 Serverless 云函数实现 CKafka 数据转存到 ES
- 软硬件都开源!基于千兆以太网的温度传感应用
- 【赵渝强老师】使用Docker Compose进行服务编排
- Kubernetes Pod入门指南
- Java线程池深度揭秘
- 蒙特卡洛法求积分
- 【赵渝强老师】Weblogic域和域的组成
- 前端生僻字显示
- redis密码操作