上海腾科教育达梦数据培训干货分享如何使用veri工具进行DM7之间的数据对比

1.前言

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

2. 测试环境

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

3. 配置代理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>

4. 配置对比工具veri

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

1) windows上直接配置odbc数据源,DM1,DM2;

2) linux上配置obbc,可以参考《如何使用ODBC的方式连接DM7数据库》

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>

5. 启动服务

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

2) 启动veri程序

6.数据对比

6.1 普通对比

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

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

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

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

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

6.2快速对比

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

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

猜你喜欢

转载自blog.csdn.net/qq_42726883/article/details/108399298