oracle指定源位置怎么弄,ORACLE Goldengate测试解决源端和目标端表结构字段位置不同的2种实现方法...
测试环境:
源端操作系统:rhel5.6
目标端操作系统:windows2008 R2
源和目标使用的数据版本均为:11.2.0.4.0
一、先模拟问题现象
源和目标端搭建好OGG软件和oracle数据库(搭建过程略)
源端测试用户test
目标端测试用户test1
(1)首先源和目标建表(源表和目标表第二和第三字段交换顺序):
源:create table test.test7(col1 int, col2 int, col3 int);
目标:create table test1.test7(col1 int, col3 int, col2 int);
(2)源和目标端启动OGG进程,在源端插入记录
insert into test.test7 values(1,2,3);
commit;
对比数据发现,OGG默认同步表是按照列的顺序来的,而不是按照列名来对应。
二、这个问题要解决有两种办法:
1、使用COLMAP方法指定列,这个方法可以在目标端的replicat进程上配置
本例中目标端的replicat进程名称为:rep1
edit param rep1 --修改目标端rep1进程
replicat rep1
--setenv (NLS_LANG = 'SIMPLIFIED CHINESE_CHINA.AL32UTF8')
--setenv (NLS_LANG = 'SIMPLIFIED CHINESE_CHINA.ZHS16GBK')
--setenv (NLS_LANG = 'SIMPLIFIED AMERICAN_AMERICA.ZHS16GBK')
setenv (ORACLE_SID = ORCL)
USERIDAlias wallettest
--userid goldengate, password goldengate
reperror default,abend
--DDL include mapped
--ddloptions report
--DDLERROR DEFAULT IGNORE RETRYOP MAXRETRIES 3 RETRYDELAY 5
discardfile c:\ogg\dirrpt\rep1.dsc,append, megabytes 100
WILDCARDRESOLVE DYNAMIC
assumetargetdefs
dynamicresolution
--修改这里的map参数,添加colmap指定列的对应规则
map test.test7, target test1.test7, colmap(usedefaults, col2=col3, col3=col2);
--map test.test7, target test1.test7;
重启目标端rep1进程,在源端测试插入数据,发现列对应关系正常。
2、该问题还可以使用另一种方法实现,通过生成定义文件来实现
1)先在OGG命令行下生成defgen配置参数
ggsci>edit param defgen
DEFSFILE /home/oracle/ogg/dirdef/test.def
USERID goldengate, PASSWORD goldengate
TABLE test.test7;
2)退出OGG命令行,在OGG软件根目录生成defgen.prm定义文件。
./defgen paramfile dirprm/defgen.prm
查看定义文件,会发现相关表结构信息,将该文件传递到目标端的c:/ogg/dirdef目录下
3)修改目标端rep1进程参数
replicat rep1
--setenv (NLS_LANG = 'SIMPLIFIED CHINESE_CHINA.AL32UTF8')
--setenv (NLS_LANG = 'SIMPLIFIED CHINESE_CHINA.ZHS16GBK')
--setenv (NLS_LANG = 'SIMPLIFIED AMERICAN_AMERICA.ZHS16GBK')
setenv (ORACLE_SID = ORCL)
USERIDAlias wallettest
--userid goldengate, password goldengate
reperror default,abend
--DDL include mapped
--ddloptions report
--DDLERROR DEFAULT IGNORE RETRYOP MAXRETRIES 3 RETRYDELAY 5
discardfile c:\ogg\dirrpt\rep1.dsc,append, megabytes 100
WILDCARDRESOLVE DYNAMIC
--这里注释assumetargetdefs参数,添加SOURCEDEFS参数
--assumetargetdefs
SOURCEDEFS c:\ogg\dirdef\test.def
dynamicresolution
--map test.test7, target test1.test7, colmap(usedefaults, col2=col3, col3=col2);
--将map参数复原
map test.test7, target test1.test7;
4)重启目标端rep1进程,然后在源端插入测试数据,发现数据同步正常。
oracle指定源位置怎么弄,ORACLE Goldengate测试解决源端和目标端表结构字段位置不同的2种实现方法...相关推荐
- 【INS-30014】无法检查指定的位置是否位于CFS上的解决办法
安装oracle数据库过程中,出现[INS-30014]无法检查指定的位置是否位于CFS上的解决办法如下: 安装过程中,选择 "仅安装数据库软件",在安装成功后,使用DBCA工具创 ...
- oracle产品清单位置无效,[急]oracle打patch出错,求助!!
错误信息如下,我的oracle home为/usr/u02/app/oracle/product/10.2.0/db_1/,为什么主产品目录显示为主产品清单: /u01/app/oracle/oraI ...
- Oracle 12c 能否在2小时内完成一张14亿条记录的表结构字段类型变更
原文链接:https://www.modb.pro/db/22757 概述 前面分享过Oracle大表在线修改的脚本(在线重定义),经过几轮的测试发现,都存在些缺陷,效率始终不是很满意.这次把索引和统 ...
- oracle指定用户SID,如何修改oracle SID
问题描述:我以前默认的 ORACLE_SID 是orcl ,现在我想做数据同步, 必须的有不同的 ORACLE_SID ,以便区分开来. 现在仅需要简单的几个步骤就可以修改好ORACLE_SID: 1 ...
- linux7提示软件安装源位置不对,详解 RHEL7.1 yum源配置与软件安装
导读 Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自 ...
- oracle ogg常用指令,OGG(ORACLE GOLDENGATE)使用手册
OGG(ORACLE GOLDENGATE)使用手册(图中涉及工作,未贴,见谅) 一.OGG原理 OGG是一种基于日志的结构化数据复制软件,通过捕获源数据库online redo log (在线重做日 ...
- ORACLE 源端ogg同步到mysql目标端
source源端 oracle 11.2.0.4 ogg12c ip:10.200.3.193 系统centos 7.1 1. 创建source表和一些初始化数据 su - oracle sqlplu ...
- oracle tns 代理配置_OGG实现Oracle到MySQL数据平滑迁移
技术分享 | 使用OGG实现Oracle到MySQL数据平滑迁移 - 爱可生开源社区opensource.actionsky.com 一.OGG概述 OGG全称为Oracle GoldenGate, ...
- ogg oracle 到mysql_借助OGG完成Oracle到MySQL的数据迁移
现在有个任务是需要把Oracle的数据迁移到MySQL,因为就涉及到了几个表,所以我最先想到了使用spool把Oracle的数据导成txt文件,然后再load 进去MySQL.非常遗憾的是,我的有一个 ...
最新文章
- 【晒出你的第83行代码】踌躇满志的三位高中生,以敬畏之心踏上了代码征程...
- java配置常量_Java构建时间常量配置
- 利用logistic回归构建申请信用评级案例
- python 多线程 线程如何获得返回值 (重写threading.Thread类)
- java 生成无重复 随机数
- 社区 正式发布了跨平台的 CoreWCF 0.1.0 GA
- volatile用法
- 为什么Linux不需要碎片整理?
- Web前端开发——BAT面试题汇总及答案01
- cleanmymac 4.2_市委刚刚批准:11月1号立即执行! 农业银行存款利率4.2%,1万元存1年,有多少利息?...
- cif判断字符串相等_leetcode 86 扰乱字符串(c++)
- python学习--面向过程程序设计实例
- “公益AI之星”挑战赛-新冠疫情相似句对判定大赛
- 统计学习方法学习笔记一
- matlab车标识别,MATLAB车辆标识识别技术研究
- 谈谈培训机构的“骗局“给新人一些建议
- 天津美术学院2021级专升本新生报到前后相关要求
- 【人月神话】第一章:焦油坑
- VB 6.0 如何在64位操作系统下运行!
- ESP8266EX 串口WIFI无线模块
热门文章
- SAP Cloud SDK for JavaScript 概述
- SAP Fiori Application Generator 在 Visual Studio Code 启动时遇到的错误消息
- SAP Cloud for Customer Work Center(工作中心)的实现源代码
- build.gradle里dependencies标签页的实现原理
- Java线程同步的一些例子
- 如何在S/4HANA里创建Custom Business object并实现自定义逻辑
- 如何用ABAP代码的方式在短时间内批量生成大量订单数据用于性能测试
- SAP CRM WebClient UI上note下拉列表里类型的过滤逻辑
- 使用Hybris Commerce User API读取用户信息时,电话字段没有返回
- 在SAP WebIDE里开发一个React component