达梦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_profile

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:$ORACLE_HOME/lib

source .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 11g
Driver      = /u01/app/oracle/product/11.2.0/db_1/lib/libsqora.so.11.1
Threading   = 0

#新增配置dm8 ODBC源
[DM8 ODBC DRIVER]
Description = ODBC driver for DM8
Driver = /home/oracle/dm8/bin/libdodbc.so
Threading = 0

#### odbc.ini ####
配置2个DSN

vim odbc.ini

[ORACLE]
Description = ORACLE ODBC DSN
Driver = Oracle in OraDb11g_home1
SERVER = 127.0.0.1
UserID = DMHS
Password = DMHS123456
Servername = ORCL
PORT = 1521
CHARSET=UTF8

#新增配置dm8 ODBC源
[DM8]
Description = DM8 ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = 192.168.238.135
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5237

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

file /u01/oracle/lib/libsqora.so.11.1
file /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



 5347  
 en
 100
 
   
 
 
  Oracle11g
  orcl
  DMHS
  DMHS123456
  
 


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

vim agent.xml



 5347  
 en
 100
 
   

 
  DM8
  192.168.238.135
  SYSDBA
  SYSDBA
  5237  
 

【配置veri】

在dmhs的bin目录下,创建配置文件
可将veri放在源端,同unixODBC一起。或者veri、unixODBC都放到第三台机器上。

vim veri.xml




 en 
 40
 
 
   
 
   
  192.168.238.134
  5347  
  ORACLE11g
  
   
   192.168.238.134:/orcl
   DMHS
   DMHS123456
  
 
   
  192.168.238.135
  5347  
  DM8
  
   
   192.168.238.135
   SYSDBA
   SYSDBA
   5237
  
 

【启动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_01
vim AgentDm8Service

DMHS_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的守护工具,注意区分。


社区地址:https://eco.dameng.com

你可能感兴趣的:(oracle,数据库,database)