达梦DMHS中Oracle到达梦veri数据对比
文章目录
- 前言
- 一、规划
- 二、源端配置ODBC
- 1.ODBC安装
- 2.配置文件
- 三、创建配置文件
- 1.Oracle源端agent配置文件
- 2.DM目的端agent配置文件
- 3.Oracle源端配置veri对比文件
- 4.查看依赖
- 5.启动对比
- 6.查看对比报告
- 总结
前言
已经安装好Oracle11g单机到达梦8单机的dmhs数据同步
一、规划
1、源端是Oracle11g,目的端是DM8
2、两端需要为数据对比各开一个agent服务,然后在其中一端开一个对比服务
3、数据对比服务启动在源端Oracle所在的服务器上
二、源端配置ODBC
1.ODBC安装
1、上传ODBC软件 unixODBC-2.3.0.tar.gz
2、解压
[root@qzodb1 unixODBC-2.3.0]#tar -zxvf unixODBC-2.3.0.tar.gz
3、进入解压目录安装
[root@qzodb1 unixODBC-2.3.0]#./configure
4、编译
[root@qzodb1 unixODBC-2.3.0]#make && make install
2.配置文件
因配置odbc需要lib包,源端没有安装DM,所以需要把目的端dm的bin目录复制到源端Oracle
查看odbc配置文件路劲及信息
[root@qzodb1 ~]# odbcinst -j
unixODBC 2.3.0
DRIVERS............: /usr/local/etc/odbcinst.ini
SYSTEM DATA SOURCES: /usr/local/etc/odbc.ini
FILE DATA SOURCES..: /usr/local/etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
vi /usr/local/etc/odbcinst.ini
[Oracle in OraDb11g_home1]
Description = ODBC DRIVER FOR ORACLE
Driver = /oracle/app/oracle/product/11.2.0/db_1/lib/libsqora.so.11.1
threading = 0[DM8ODBCDRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /home/oracle/dm/bin/libdodbc.so #dm的bin在源端Oracle的路劲
threading = 0
vi /usr/local/etc/odbc.ini
[DM8]
Description = DM ODBC DSN
Driver = DM8ODBCDRIVER
SERVER = 192.168.1.132
UID = SYSDBA
PWD = dameng123
TCP_PORT = 5237[oracle11g]
Description = ORACLE ODBC DSN
Driver =Oracle in OraDb11g_home1
SERVER = localhost
UID = dmhs
PWD = dmhs
三、创建配置文件
1.Oracle源端agent配置文件
在dmhs的bin目录下创建agent.xml文件
vi agent.xml
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<agent><port>9666</port><lang>en</lang><max_session>50</max_session><database><server>192.168.1.111/qzdb</server><uid>dmhs</uid><psw>dmhs</psw><char_code>PG_18030</char_code><type>ORACLE11g</type></database>
</agent>
在bin目录下用刚才的配置文件启动代理服务
./dmhs_veri_agent_ora agent.xml
2.DM目的端agent配置文件
在dmhs的bin目录下创建agent.xml文件
vi agent.xml
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<agent><port>6666</port><lang>en</lang><max_session>250</max_session><database><server>127.0.0.1:5237</server> <!--如果自定义的端口,可以在这后面加上--><uid>SYSDBA</uid><psw>dameng123</psw><!--char_code>PG_18030</char_code--><type>DM8</type></database>
</agent>
在bin目录下用刚才的配置文件启动代理服务
./dmhs_veri_agent_dm8 agent.xml
3.Oracle源端配置veri对比文件
在dmhs的bin目录下创建veri.xml文件
vi veri.xml
代码如下:
<veri><lang>ch</lang><max_thr>40</max_thr><max_out_sync>100000</max_out_sync><src><agent_server>192.168.1.111</agent_server><port>9666</port><db_type>oracle11g</db_type><multipe>1</multipe><odbc_str><db_server>192.168.1.111/qzdb</db_server><db_user>dmhs</db_user><db_pwd>dmhs</db_pwd><driver>Oracle in OraDb11g_home1</driver> <!--配置odbc的驱动名称--></odbc_str></src><dest><agent_server>192.168.1.132</agent_server><port>6666</port><db_type>DM8</db_type><odbc_str><db_server>192.168.1.132:5237</db_server><db_user>SYSDBA</db_user><db_pwd>dameng123</db_pwd><driver>DM8ODBCDRIVER</driver> <!--配置odbc的驱动名称--></odbc_str></dest>
</veri>
4.查看依赖
1、在bin目录下 ldd dmhs_veri查看依赖是否有缺失
[oracle@qzodb1:/home/oracle/dmhs/bin]$ ldd dmhs_verilinux-vdso.so.1 => (0x00007fffe37ed000)libc.so.6 => /lib64/libc.so.6 (0x00007fb1ed875000)libm.so.6 => /lib64/libm.so.6 (0x00007fb1ed573000)librt.so.1 => /lib64/librt.so.1 (0x00007fb1ed36b000)libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fb1ed14f000)libdl.so.2 => /lib64/libdl.so.2 (0x00007fb1ecf4b000)libdmhs_pub.so => ./libdmhs_pub.so (0x00007fb1ecc1f000)libdmhs_xml.so => ./libdmhs_xml.so (0x00007fb1eca10000)libdmhs_lic.so => ./libdmhs_lic.so (0x00007fb1ec804000)libodbc.so.2 => /lib64/libodbc.so.2 (0x00007fb1ec59c000)/lib64/ld-linux-x86-64.so.2 (0x00007fb1edc42000)libltdl.so.7 => /lib64/libltdl.so.7 (0x00007fb1ec392000)
如果 libodbc.so.2 没有启动对比则会报找不到驱动
2、如果按照odbc是默认路劲安装,这个文件在/usr/local/lib/目录下
ls -l /usr/local/lib/libodbc.so.2
3、查看如果没有这个包的话用libodbc.so.1.0.0包做个软连接,软连接的名称改为dmhs_veri依赖需要的名字
ln -s /usr/local/lib/libodbc.so.1.0.0 /usr/local/lib/libodbc.so.2
4、在修改环境变量,在环境变量LD_LIBRARY_PATH中添加lib包所在路径 /usr/local/lib
vi ~/.bash_profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
5.启动对比
例如:我这里对比DMHS模式下所有的表
[oracle@qzodb1:/home/oracle/dmhs/bin]$./dmhs_veri jobname=job1 "table=(DMHS.*==DMHS.*)" mode=normal
VERI[INFO]: VERI start up, current version: V4.1.1-Build(2021.05.11-99507trunc)_D64
VERI[INFO]: CONNECT: DBQ=192.168.1.111/qzdb;DRIVER=Oracle in OraDb11g_home1;UID=dmhs;PWD=******;
VERI[INFO]: CONNECT: SERVER=192.168.1.132:5237;DRIVER=DM8ODBCDRIVER;UID=SYSDBA;PWD=******;TCP_PORT=5236;
MGR[WARN]: License 将在 2022-03-25 过期
VERI[INFO]: veri odbc connect str: DBQ=192.168.1.111/qzdb;DRIVER=Oracle in OraDb11g_home1;UID=dmhs;
VERI[INFO]: veri odbc connect str: SERVER=192.168.1.132:5237;DRIVER=DM8ODBCDRIVER;UID=SYSDBA;
VERI[INFO]: (DMHS.*==DMHS.*)对象解析线程个数:1
VERI[INFO]: veri odbc connect str: DBQ=192.168.1.111/qzdb;DRIVER=Oracle in OraDb11g_home1;UID=dmhs;
VERI[INFO]: veri odbc connect str: SERVER=192.168.1.132:5237;DRIVER=DM8ODBCDRIVER;UID=SYSDBA;
VERI[INFO]: 添加DMHS.TEST1==DMHS.TEST1到对比队列中
VERI[INFO]: 添加DMHS.TEST2==DMHS.TEST2到对比队列中
VERI[INFO]: 添加DMHS.TT1==DMHS.TT1到对比队列中
VERI[INFO]: (DMHS.*==DMHS.*)等待对象解析线程完成...
VERI[INFO]: (DMHS.*==DMHS.*)对象解析线程完成退出.
VERI[INFO]: job1的任务开始
VERI[INFO]: 执行的模式为NORMAL
VERI[INFO]: 源AGENT为192.168.1.111:9666
VERI[INFO]: 目的AGENT为192.168.1.132:6666
VERI[INFO]: 组表对比开始: (1/3 : DMHS.TEST1==DMHS.TEST1)...
VERI[INFO]: 组表对比开始: (2/3 : DMHS.TEST2==DMHS.TEST2)...
VERI[INFO]: VERI接收到目的AGENT数据包(DMHS.TEST1, 2, 0)
VERI[INFO]: 表数据排序:(DMHS.TEST1)
VERI[INFO]: 组表对比开始: (3/3 : DMHS.TT1==DMHS.TT1)...
VERI[INFO]: VERI接收到目的AGENT数据包(DMHS.TEST2, 4, 0)
VERI[INFO]: VERI接收到目的AGENT数据包(DMHS.TT1, 6, 0)
VERI[INFO]: 表数据排序:(DMHS.TEST2)
VERI[INFO]: 表数据排序:(DMHS.TT1)
VERI[INFO]: VERI接收到源AGENT数据包(DMHS.TEST1, 1, 0)
VERI[INFO]: VERI接收到源AGENT数据包(DMHS.TT1, 5, 0)
VERI[INFO]: VERI接收到源AGENT数据包(DMHS.TEST2, 3, 0)
VERI[INFO]: 无主键对比开始: (DMHS.TEST1==DMHS.TEST1)
VERI[INFO]: (DMHS.TEST1==DMHS.TEST1) compare over, out_sync: 0, in_sync: 6, used time : 0.282(ms)
VERI[INFO]: 无主键对比开始: (DMHS.TEST2==DMHS.TEST2)
VERI[INFO]: (DMHS.TEST2==DMHS.TEST2) compare over, out_sync: 0, in_sync: 4, used time : 0.189(ms)
VERI[INFO]: 无主键对比开始: (DMHS.TT1==DMHS.TT1)
VERI[INFO]: (DMHS.TT1==DMHS.TT1) compare over, out_sync: 0, in_sync: 0, used time : 0.154(ms)
VERI[INFO]: 退出Verify tool
6.查看对比报告
对比完成后生成的报告bin目录下面的report文件夹里面
用cat查看
[oracle@qzodb1:/home/oracle/dmhs/bin]$cat report/job1_20210822_002/veri_report_job1_20210822_002.txt
******************************************************DM Verify Data Tool
版本 : V4.1.1-Build(2021.05.11-99507trunc)_D64
执行时间 : 2021-08-22 11:45:50
结束时间 : 2021-08-22 11:45:52
******************************************************
源端比目标端多出的表或视图如下:
目标端比源端多出的表或视图如下:
******************************************************
任务名称 : job1
执行模式 : NORMAL
源AGENT : 192.168.1.111:9666
源AGENT数据库类型 : ORACLE11g
目的AGENT : 192.168.1.132:6666
目的AGENT数据库类型: DM8
******************************************************
注意:在非主键对比情况下,UPDATE会以INSERT和DELETE显示,导致一致与不一致总和大于表总数
总共比较表数: 3[OK] DMHS.TEST1 == DMHS.TEST1
源端表总行数 : 6
目的表总行数 : 6
同步成功 : 6
同步失败 : 0[OK] DMHS.TEST2 == DMHS.TEST2
源端表总行数 : 4
目的表总行数 : 4
同步成功 : 4
同步失败 : 0[OK] DMHS.TT1 == DMHS.TT1
源端表总行数 : 0
目的表总行数 : 0
同步成功 : 0
同步失败 : 0
总结
更多信息可前往达梦官网社区
https://eco.dameng.com/docs/zh-cn/start/index.html
达梦DMHS中Oracle到达梦veri数据对比相关推荐
- 搭建dmhs veri数据对比
简介: AGENT:对比工具代理服务,主要用作数据获取,并计算行数据的 MD5,发送给对比模块. VERI:对比校验进程,主要进行模式下对象对比,数据对比,并且生成对比报告. 系统主要分为对比代理服务 ...
- 达梦数据库——Oracle到达梦数据迁移
## 迁移思路 1.统计Oracle库中对象以及表数据量: 2.达梦数据库选择合适的初始化参数: BLANK_PAD_MODE 空格填充模式选1, CASE_SENSITIVE 大小写敏感:可以考虑开 ...
- EXCELL中怎么将两列数据对比,找出相同的和不同的数据?
假设你要从B列中找出A列里没有的数据,那你就在C1单元格里输入"=IF(ISNA(VLOOKUP(B1,A:A,1,0)),"F","T")" ...
- 达梦数据库导入oracle数据_Java项目,从Oracle迁移到达梦数据库笔记
达梦数据库是个国产数据库,据说对Oracle有很好的兼容,本人亲自从Oracle11g迁移到达梦6.0的数据库上来,遇到一些问题,以下是问题记录: 1.字段名错误 虽然达梦SQL可以兼容字段大小写,但 ...
- 达梦数据对比工具VERI对oracle11gR2与oracle11gR2的实时同步后对比验证测试
环境介绍 一:源库 1.oracle 11g R2,DMHSV4 2.10.0.0.21,crm库,ZHS16GBK,1521端口, 3.同步用户usercrm,密码abcd1234 4.同步表T01 ...
- 达梦数据库兼容Oracle之SQL语法(一)
对于刚从Oracle数据库转到达梦数据库,SQL语法的使用基本一致,有一些差别,下面总结的一些常用SQL语法差别. 文章目录 1.导入数据 2.返回查询数据的返回行 3 外连接用法 4.多列IN用法 ...
- 创建oracle数据库到达梦数据库的dblink
实际上是通过odbc使oracle连接到达梦数据库,需要安装odbc驱动,达梦驱动(达梦经典安装),配置odbc,透明网关,oracle监听服务 环境:( redhat6.9,oracle11g,达梦 ...
- 达梦DMHS安装及使用
1.安装步骤 1.1运行.bin文件(-i表示命令行安装),选择语言 1.2是否使用key文件,选择2会多一步输入key文件路径 1.3选择安装的模式 精简版包括:实时同步软件服务器.远程部署工具.实 ...
- 达梦端到Oracle端dblink
搭建 DM8 到 oracle 跨库访问dblink 1.在达梦端安装oracle client 可以不用安装整个client,下载安装basic,sqlplus, sdk,jdbc和odbd的zip ...
最新文章
- 【Redfin SDE intern】跪经
- Arxiv 论文提交流程——看这篇就够了
- TreeView和DataGridView控件组合使用
- 如何使用知识图谱增强信息检索模型?
- Implicit conversion from enumeration type 'enum CGImageAlphaInfo' to different enumeration type 'CGB
- dart系列之:dart语言中的异常
- 为什么C4C UI上看不到新建按钮
- 如何知道linux的ssh秘钥是否匹配,SSH密钥验证
- 速途网范锋:我的创业路早已命中注定
- GitHub Desktop离线安装包
- stm32_19264液晶LCD驱动程序
- 平时有没有使用xml和json
- 恩布开源安卓手机IM,EntboostIM发布1.5.1版本
- 全面启动远程医疗行业
- 巴特沃斯低通滤波器 matlab,利用matlab设计巴特沃斯低通滤波器
- Android SDK怎么救砖,Android手机刷机变砖后无法开机的修复方法
- Oracle常用函数
- cmd查看mysql的ip地址_怎么在cmd中查看数据库ip地?
- Apollo 算法阅读之Public Road轨迹规划算法--路径规划(含源代码)
- openwrt运行n2n服务器,Windows下使用N2N搭建局域网,全球局域网(重写)
热门文章
- python画画用哪库好_Python我要学画画-turtle库
- 【外行也能看懂的RabbitMQ系列(二)】—— RabbitMQ的Web管理界面(rabbitmq_management)详解(内含Topic模式通配符实操)
- php中status,phpfpm status状态说明
- SharePoint-Office365中修改顶部导航
- Express全系列教程之(十五):文件下载
- uniapp调用上一页的方法
- 国外知名网站Stackoverflow 历时两年评选出11本对程序员最有影响力的书籍
- ibooks打开iframe引用的html文件乱码
- Code For Better 谷歌开发者之声——初识Web与谷歌,拉起兴趣之心。
- OA属于计算机哪类一,oa属于什么计算机应用