搭建oracle11g-->dm8的同步对比

1 准备工作

搭建oracle11g-->dm8同步对比,需要先搭建oracle11g-->dm8的单向/双向同步,这一部分见本人上一篇博客

在搭建完同步工作后,在oracle11g所在虚拟机也安装下载dm8,无需初始化实例

2 修改配置

源端:

修改tnsnames.ora配置,tnsnames.ora位于$ORACLE_HOME/network/admin目录下,其中IP地址为源端IP地址

LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.237.164)(PORT = 1521))
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.237.164)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

修改odbcinst.ini

vim /etc/odbcinst.ini

[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DB=DM8
DRIVER = /dm8/bin/libdodbc.so

[Oracle in OraDb11g_home1]
Description = Oracle ODBC driver for Oracle 11g
Driver = /opt/oracle/app/oracle/product/11.2.0/dbhome_1/lib/libsqora.so.11.1
Threading = 0

修改odbc.ini

vim /etc/odbc.ini

[ORACLE]
Description = ORACLE ODBC DSN
Driver = Oracle in OraDb11g_home1
SERVER = localhost
UID=system
PWD = 123456
Servername = orcl
PORT = 1521

[dm8]
Description = DM ODBC DSND
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5236

修改oracle用户环境变量:

vim .bash_profile

Export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/dmhs/bin:$ORACLE_HOME:$ORACLE_BASE:/etc:/dm8/bin

在dmhs/bin目录下

vim veri.xml

<?xml version="1.0" encoding="utf-8"?>
<veri>
<lang>en</lang> 
 <max_thr>40</max_thr>

 <!-- <dmhs> 
  <server_name>192.168.238.134</server_name>
       <port>5345</port>
 <site_id>1</site_id>
 </dmhs> -->  <!-- 动态对比时,添加该部分 -->

 <src>  <!-- 源端agent的配置 -->
  <agent_server>192.168.237.164</agent_server>
  <port>5347</port>  <!-- 这是agent的端口 -->
  <db_type>ORACLE11g</db_type>
  <odbc_str>
   <!-- <dsn>ORACLE</dsn> -->
   <db_server>192.168.237.164:/orcl</db_server>
   <db_user>system</db_user>
   <db_pwd>123456</db_pwd>
  </odbc_str>
 </src>
 <dest>  <!-- 目的端agent的配置 -->
  <agent_server>192.168.237.165</agent_server>
  <port>5347</port>  <!-- 这是agent的端口 -->
  <db_type>DM8</db_type>
  <odbc_str>
   <!-- <dsn>DM8</dsn> -->
   <db_server>192.168.237.165</db_server>
   <db_user>SYSDBA</db_user>
   <db_pwd>SYSDBA</db_pwd>
   <db_port>5236</db_port>
  </odbc_str>
 </dest>
</veri>

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>system</uid>
  <psw>123456</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.237.165</server>
  <uid>SYSDBA</uid>
  <psw>SYSDBA</psw>
  <port>5236</port>  <!-- 此处port是dm8的监听端口 -->
 </database>
</agent>

3 开始同步对比

启动服务

源端:

到dmhs/bin目录下

./dmhs_veri_agent_ora agent.xml

目的端:

到dmhs/bin目录下

./dmhs_veri_agent_dm8 agent.xml

在源端另启端口,到dmhs/bin目录下:

./dmhs_veri  "TABLE=(SYSTEM.TEST1==TEST.TEST1)" mode=normal

 查看对比报告:

 可以看到对比结果两者一致

测试不一致的结果,在源端往test1测试表插入新数据,然后进行同步对比并查看新的对比报告

 可以看到对比发现两者不一致

以上为使用对比工具veri进行静态对比

若要进行动态对比,还需启动dmhs服务,且将veri、agent配置文件中动态对比部分注释符删除

#动态对比 
./dmhs_veri "TABLE=(SYSTEM.*==SYSTEM.*)" mode=dyn

请上达梦社区了解 https://eco.dameng.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值