注册
如何使用 veri 工具进行 DM7 之间的数据对比
专栏/金的探索记录/ 文章详情 /

如何使用 veri 工具进行 DM7 之间的数据对比

2021/03/25 2234 6 0
摘要 如何使用 veri 工具进行 DM7 之间的数据对比

前言

当大家使用 DMHS 进行数据同步之前,我们需要确保源端和目的端的同步表数据一致。通常我们可以通过 DMHS 的初始装载功能来把源端数据库装载到源端中,但是在生产环境中,有时候会发现目的端已经有了部分数据。此时为了确保数据不丢失,我们需要对两边数据库的数据做一致性比较,这里我们就可以用到 veri 工具。本文就将给大家介绍如何配置以及使用 DMHS 中带的 veri 工具。

测试环境

对比环境为一台 windows dm7服务器,和一台 linux dm7 服务器,这里测试是无 dmhs 环境静态对比,所以没有源端目的区别。

配置代理 agent

代理 agent.xml,放在 agent 程序同一目录,默认端口是 5347,其他为数据库相关信息。这里测试环境源端目的端都是一样。以下为参考配置:

<?xmlversion="1.0" encoding="utf-8"?>
<agent>
<port>5347</port>
<lang>ch</lang>
<max_session>100</max_session>
<database>
<type>DM7</type>
<server>127.0.0.1</server>
<uid>SYSDBA</uid>
<psw>SYSDBA</psw>
</database>
</agent>

配置对比工具 veri

veri 工具在部署 DMHS 后就已经存在 DMHS 的安装目录下,如没有配置 DMHS,可以使用 DMHS 安装包进行安装。进程 dmhs_veri 运行的机器,需要配置 odbc 环境,可以选择源端或目的端的任意一台,也可以选择第三台服务器,只要保证通过 odbc 连通数据库。

  1. windows 上直接配置 odbc 数据源,DM1,DM2;
  2. linux 上配置 obbc,可参考如何试用 ODBC 的方式连接 DM 数据库
  3. veri.xml 放在与 veri 程序同一目录,主要为两个数据库 odbc 连接信息,如果是 dmhs 环境还需要配置dmhs参数。参考配置如下:
<?xmlversion="1.0" encoding="utf-8"?>
<veri>
<lang>ch</lang><!--language just at en or ch -->
<max_thr>40</max_thr>
<max_obj_thr>40</max_obj_thr>
<src>
<agent_server>172.16.20.107</agent_server>
<port>5347</port>
<db_type>DM7</db_type>
<odbc_str>
<dsn>DM1</dsn>
<uid>SYSDBA</uid>
<pwd>SYSDBA</pwd>
</odbc_str>
</src>
<dest>
<agent_server>172.16.20.94</agent_server>
<port>5347</port>
<db_type>DM7</db_type>
<odbc_str>
<dsn>DM2</dsn>
<uid>SYSDBA</uid>
<pwd>SYSDBA</pwd>
</odbc_str>
</dest>
</veri>

启动服务

  1. 启动两台机器的 agent 服务,dm7 数据库环境,直接启动 dmhs_veri_agent_dm7 程序;
  2. 启动veri程序。

数据对比

普通对比

这里测试对比一个模式下的表:

dmhs_veri  jobname=job1"table=(TEST.*==TEST.*)" mode=NORMAL

1.png

作业配置会自动生成 xml 文件,也可以事先配置 xml,执行这个作业:

2.png

生产报告有对比结果,如下:

3.png

不一致的表会再生成一个目录,一张表为一个文件,里面会精确写到具体哪一条不一致:

4.png

快速对比

dmhs_veri jobname=job2"table=(TEST.==TEST.)" mode=fast

5.png

快速对比只会对比数据条数,不会对比具体数据:

6.png

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服