失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 达梦dmhs的数据对比工具veri配置使用

达梦dmhs的数据对比工具veri配置使用

时间:2021-04-01 05:04:14

相关推荐

达梦dmhs的数据对比工具veri配置使用

VERI说明

dmhs自带对比工具,装好dmhs后在bin目录下就可找到,名为dmhs_veri

该工具需要使用unixODBC,2.3.0 及以上的版本,用于oracle等数据库的连接使用。若为dm,则不用。

VERI需要一个AGENT,用于数据获取,是对比工具的代理服务。

同dmhs,veri、agetn可以装在第三台机器上。

只有在校验进程 dmhs_veri 运行的机器才需要安装并配置 unixODBC。

dmhs有自己的守护工具,叫dmhs_agent,也有自己的配置文件dmhs_agent.xml,后台启动脚本为DmhsAgentService

veri因为需要获取数据所以也有个agent,不要跟dmhs的搞混。后台启动脚本为AgentDm8Service

本文以源端oracle、目的端dm8为例

【安装unixODBC】

使用oracle用户,在用户根目录下,添加如下

vim .bash_profileexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:$ORACLE_HOME/libsource .bash_profile

执行 lsnrctl status,确保 listener.ora 文件中 HOST 参数与当前机器 hostname 一致

【配置unixODBC】

使用root用户

cd /usr/local/etc

##### odbcinst.ini ####

配置driver,threading都写0

vim odbcinst.ini[Oracle in OraDb11g_home1]Description = Oracle ODBC driver for Oracle 11gDriver = /u01/app/oracle/product/11.2.0/db_1/lib/libsqora.so.11.1Threading = 0#新增配置dm8 ODBC源[DM8 ODBC DRIVER]Description = ODBC driver for DM8Driver = /home/oracle/dm8/bin/libdodbc.soThreading = 0

#### odbc.ini ####

配置2个DSN

vim odbc.ini[ORACLE]Description = ORACLE ODBC DSNDriver = Oracle in OraDb11g_home1SERVER = 127.0.0.1UserID = DMHSPassword = DMHS123456Servername = ORCLPORT = 1521CHARSET=UTF8#新增配置dm8 ODBC源[DM8]Description = DM8 ODBC DSNDriver = DM8 ODBC DRIVERSERVER = 192.168.238.135UID = SYSDBAPWD = SYSDBATCP_PORT = 5237

检查数据库版本和ODBC版本同为32位或64位,否则无法运行成功,ELF 64-bit是64位

file /u01/oracle/lib/libsqora.so.11.1file /usr/local/bin/odbcinst

【数据库权限】

切换回oracle、dmdba用户

若oracle使用的不是DBA用户,加权限,以TEST为例

grant select on all_tables to TEST;grant select on dba_cons_columns to TEST;grant select on dba_tab_columns to TEST;grant select on dba_constraints to TEST;--上锁模式GRANT CREATE SESSION TO TEST;GRANT SELECT ANY TABLE TO TEST;GRANT CREATE TABLE TO TEST;GRANT EXECUTE ON DBMS_FLASHBACK TO TEST;GRANT LOCK ANY TABLE TO TEST;--闪回查询(SCN)模式GRANT CREATE SESSION TO TEST;GRANT SELECT ANY TABLE TO TEST;GRANT CREATE TABLE TO TEST;GRANT CREATE ANY TABLE TO TEST;GRANT DROP ANY TABLE TO TEST;GRANT EXECUTE ON DBMS_FLASHBACK TO TEST;GRANT FLASHBACK ANY TABLE TO TEST;

【写agent配置】

#####源端,在dmhs的bin目录下,创建配置文件#####

vim agent.xml<?xml version="1.0" encoding="utf-8"?><agent><port>5347</port> <!-- 这是agent的端口 --><lang>en</lang><max_session>100</max_session><!-- <mode>0</mode> --> <!-- 这是动态对比时,需要添加mode控制参数。0:动态对比锁表模式;1:动态对比闪回查询模式。仅仅在Oracle中有效。 --><database><type>Oracle11g</type><server>orcl</server><uid>DMHS</uid><psw>DMHS123456</psw><!-- <port></port> 默认端口时可以不写数据库端口,不是默认时写 --></database></agent>

#####目的端,在dmhs的bin目录下,创建配置文件#####

vim agent.xml<?xml version="1.0" encoding="utf-8"?><agent><port>5347</port> <!-- 这是agent的端口 --><lang>en</lang><max_session>100</max_session><!-- <mode>0</mode> --> <!-- 这是动态对比时,需要添加mode控制参数。0:动态对比锁表模式;1:动态对比闪回查询模式。仅仅在Oracle中有效。 --><database><type>DM8</type><server>192.168.238.135</server><uid>SYSDBA</uid><psw>SYSDBA</psw><port>5237</port> <!-- 此处port是dm8的监听端口 --></database></agent>

【配置veri】

在dmhs的bin目录下,创建配置文件

可将veri放在源端,同unixODBC一起。或者veri、unixODBC都放到第三台机器上。

vim veri.xml<?xml version="1.0" encoding="utf-8"?><veri><lang>en</lang> <!-- language just at en or ch --><max_thr>40</max_thr><!-- <dmhs> <!-- dmhs_server for destionation --><!-- <server_name>192.168.238.134</server_name><port>5345</port><site_id>1</site_id></dmhs> --> <!-- 这个是动态对比时,需要添加的内容,添加的是dmhs节点信息 --><src> <!-- 源端agent的配置 --><agent_server>192.168.238.134</agent_server><port>5347</port> <!-- 这是agent的端口 --><db_type>ORACLE11g</db_type><odbc_str><!-- <dsn>ORACLE</dsn> --><db_server>192.168.238.134:/orcl</db_server><db_user>DMHS</db_user><db_pwd>DMHS123456</db_pwd></odbc_str></src><dest> <!-- 目的端agent的配置 --><agent_server>192.168.238.135</agent_server><port>5347</port> <!-- 这是agent的端口 --><db_type>DM8</db_type><odbc_str><!-- <dsn>DM8</dsn> --><db_server>192.168.238.135</db_server><db_user>SYSDBA</db_user><db_pwd>SYSDBA</db_pwd><db_port>5237</db_port></odbc_str></dest></veri>

【启动agent】

在dmhs的bin目录下

源端:./dmhs_veri_agent_ora agent.xml

目的端:./dmhs_veri_agent_dm8 agent.xml

【进行对比】

在dmhs的bin目录下

#普通对比./dmhs_veri "TABLE=(TEST.*==TEST.*)" mode=normal#快速对比./dmhs_veri "TABLE=(TEST.*==TEST.*)" mode=fast#动态对比./dmhs_veri "TABLE=(TEST.*==TEST.*)" mode=dyn./dmhs_veri “table=((TEST.T1,TEST.T2)==(SYSDBA.T1,SYSDBA.T2))” MODE=DYN

【配置后台启动】

配置veri agent的后台启动,源端、目的端都一样,文件不一样而已

在dmhs的bin目录下,service_template

#源端、目的端是哪个数据库,就复制哪个Agent

cp AgentDm8Service ../AgentDm8Service_01vim AgentDm8ServiceDMHS_HOME="dmhs的安装目录,默认:/opt/dmhs"PROG_DIR="agent的运行脚本目录,默认:/opt/dmhs/bin"CONF_PATH="agent的配置文件所在目录,默认:/opt/dmhs/bin/agent.xml"

AgentDm8Service对应dmhs_veri_agent_dm8

AgentOraService对应dmhs_veri_agent_ora

DmhsAgentService对应dmhs_agent,这是dmhs的守护工具,注意区分。

社区地址:

如果觉得《达梦dmhs的数据对比工具veri配置使用》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。