本次案例的环境信息为oracle 11g 通过 dmhs 同步到dm8。
该案例中网络是需要经过网闸的,即两端网络不互通情况下,需要第三方摆渡工具协助或者手动拷贝源端本地生成环境,时延较大。
1)Oracle库已经开归档
2)达梦数据库已经部署
CREATE USER "JACK" IDENTIFIED BY 123456789 DEFAULT TABLESPACE "JACK";
create user dmhs identified by dmhs123456;
Grant dba to dmhs;
若oracle无法给dba权限,给予权限可参考的,dmhs的脚本 ddl_sql_ora.sql和dmhs_grant.sql
sql> show parameter "_system_trig_enabled";
./dmhs_V4.2.60_dm8_rev106302_rh6_64_veri_20220225.bin -i
Extract install files..........
1.English(English)
2.Simplified Chinese(简体中文)
Select the language to install[2.Simplified Chinese(简体中文)]:2
/tmp/DMHSInstall/install.log
1.免费试用达梦数据实时同步
2.使用已申请的Key文件
验证许可证文件[1.免费试用达梦数据实时同步]:2
Key文件路径:/home/dmhs.key
Key文件限制信息如下:
有效日期:2022-06-25
用户名称:达梦公司产品试用
服务器颁布类型:试用版
发布类型:企业版
Key类型:企业版
授权用户数:无限制
并发连接数:无限制
1.精简版
2.完整版(web客户端)
3.自定义
安装类型[1.精简版]:3
1.实时同步软件服务器
2.远程部署工具
3.实时同步软件客户端
4.内置数据库
5.ODBC驱动
6.实时同步软件配置助手
7.手册
输入选择安装组件的序号,以','分隔:1,7
1.实时同步软件服务器
2.手册
所需磁盘空间:454 MB
安装目录: [/home/dmdba/dmhs]
1.统一部署
2.现在初始化
是否初始化达梦数据实时同步系统[1.统一部署]:2
正在安装
default start ... default finished.
server start ... server finished.
doc start ... doc finished.
postinstall start ... postinstall finished.
正在创建快捷方式
安装成功
实时同步服务(DMHS)配置
1.英文(English)
2.简体中文(简体中文)
Dmhs语言[2.简体中文(简体中文)]:
请输入mgr端口号 (1000-65535)[5345]:
请输入信息收集间隔 时间(1-60)秒[3]:
请输入检查点间隔时间(10-65536)秒[60]:
请输入站点id(0-65536):1
达梦数据实时同步服务
1.自动
2.手动
启动方式:[2.手动]
正在创建达梦数据实时同步服务
状态监控服务
启动方式:[1.自动]
正在创建状态监控服务
达梦数据实时同步V4.0安装完成
更多安装信息,请查看安装日志文件:
/home/dmdba/dmhs/log/install.log
进入到bin的文件目录,检查执行端依赖
ldd libdmhs_exec.so
linux-vdso.so.1 => (0x00007fffd4398000)
libc.so.6 => /lib64/libc.so.6 (0x00007f5f3102e000)
libm.so.6 => /lib64/libm.so.6 (0x00007f5f30da9000)
librt.so.1 => /lib64/librt.so.1 (0x00007f5f30ba1000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5f30984000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f5f3077f000)
libdmhs_pub.so => ./libdmhs_pub.so (0x00007f5f30450000)
libdmhs_ucvt.so => ./libdmhs_ucvt.so (0x00007f5f2fef5000)
libdmhs_dm_obj.so => ./libdmhs_dm_obj.so (0x00007f5f2fcdf000)
libdmhs_cvt.so => ./libdmhs_cvt.so (0x00007f5f2fa54000)
libdodbc.so => /home/dmdba/dmdbms/bin/libdodbc.so (0x00007f5f2f828000)
/lib64/ld-linux-x86-64.so.2 (0x0000003322600000)
libdmhs_exp.so => ./libdmhs_exp.so (0x00007f5f2f452000)
libdmhs_xml.so => ./libdmhs_xml.so (0x00007f5f2f243000)
libdmoci.so => not found
libdmdpi.so => /home/dmdba/dmdbms/bin/libdmdpi.so (0x00007f5f2e593000)
libdmfldr.so => /home/dmdba/dmdbms/bin/libdmfldr.so (0x00007f5f2d927000)
libdmelog.so => /home/dmdba/dmdbms/bin/libdmelog.so (0x00007f5f2d71f000)
libdmutl.so => /home/dmdba/dmdbms/bin/libdmutl.so (0x00007f5f2d50a000)
libdmclientlex.so => /home/dmdba/dmdbms/bin/libdmclientlex.so (0x00007f5f2d2d6000)
libdmos.so => /home/dmdba/dmdbms/bin/libdmos.so (0x00007f5f2d0a8000)
libdmcvt.so => /home/dmdba/dmdbms/bin/libdmcvt.so (0x00007f5f2c9c8000)
libdmstrt.so => /home/dmdba/dmdbms/bin/libdmstrt.so (0x00007f5f2c7b2000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f5f2c4ac000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f5f2c296000)
libdmmem.so => /home/dmdba/dmdbms/bin/libdmmem.so (0x00007f5f2c085000)
libdmcalc.so => /home/dmdba/dmdbms/bin/libdmcalc.so (0x00007f5f2bdfc000)
修改替换dmhs.hs参数
vi dmhs.hs
<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port>
<name>dm8</name>
<ckpt_interval>60</ckpt_interval>
<siteid>1</siteid>
<version>2.0</version>
</base>
<exec>
<recv>
<data_file> <!-- 数据来源自缓存文件,需配置子项-->
<path>/dmdata/dmhs_file</path> <!--数据缓存文件所在的本地文件目录-->
<src_siteid>3</src_siteid> <!--缓存数据来源的站点号,即源端的siteid-->
<scan_interval>5</scan_interval> <!--扫描数据缓存文件目录的时间间隔,单位秒-->
<delete_interval>300</delete_interval> <!--缓存数据文件删除间隔,单位秒-->
</data_file>
</recv>
<enable>1</enable>
<name>exec</name>
<db_type>DM8</db_type>
<db_server>192.168.200.200</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port>5236</db_port>
<exec_thr>8</exec_thr>
<exec_sql>1024</exec_sql>
<exec_trx>2000</exec_trx>
<exec_rows>2000</exec_rows>
<ddl_continue>1</ddl_continue>
<affect_row>0</affect_row>
<exec_policy>2</exec_policy>
<enable_rowid>0</enable_rowid>
<clear_trx_file>1</clear_trx_file>
<trx_max_file>8</trx_max_file>
</exec>
</dmhs>
编辑dmhs服务脚本(红色部分为添加部分)
vi DmhsServicedm8
#REPLACE program dir
PROG_DIR=/opt/dmhs/INST_HS/dm8
#REPLACE program config path
CONF_PATH=/opt/dmhs/INST_HS/dm8/dmhs.hs
#REPLACE need library path, LD_LIBRARY_PATH/LIBPATH
NEED_LIB_PATH=
HS_NLS_LANG=AMERICAN_AMERICA.UTF8
启动脚本,查看日志信息(另起窗口)
Starting DmhsServicedm8: [ OK ]
----查看日志信息
tail -100f log/dmhs_202412.log
2024-12-25 00:53:04 MGR[WARN]: The beta version used for more than 3 months, please apply for a formal key.
2024-12-25 01:10:12 MGR[INFO]: DMHS start up, current version: V4.1.48-Build(2021.09.09-102088trunc)_D64(Enterprise Edition)
2024-12-25 01:10:12 MGR[WARN]: License will expire on 2022-06-25
2024-12-25 01:10:12 MGR[INFO]: 成功加载配置文件,站点号:2, 管理端口:5345, 轮询间隔:3
2024-12-25 01:10:13 MGR[INFO]: 管理 服务正在监听管理端口:5345
2024-12-25 01:10:38 MGR[INFO]: 监控到来自 192.168.253.128(dmhs_stat) 的登录
2024-12-25 01:10:38 MGR[INFO]: 监控到来自 192.168.253.128(dmhs_stat) 的登录
2024-12-25 01:10:38 MGR[INFO]: 监控到来自 192.168.253.128(dmhs_stat) 的登录
2024-12-25 01:10:39 MGR[INFO]: 监控到来自 192.168.253.128(dmhs_stat) 的登录
---进入控制台,启动exec
DMHS console tool: V4.1.48-Build(2021.09.09-102088trunc)_D64
Copyright (c) 2020, DMHS. All rights reserved.
Type ? or "help" for help, type "quit" to quit console.
连接到DMHS:127.0.0.1:5345
执行成功
Dameng HS Server V4.1.48-Build(2021.09.09-102088trunc)_D64
DMHS> start exec
执行成功
观察日志信息,输出
执行线程 2 已创建,XXX
执行线程 3 已创建,XXX
执行线程 4 已创建,XXX
执行线程 5 已创建,XXX
执行线程 6 已创建,XXX
执行线程 7 已创建,XXX
执行线程 8 已创建,XXX
到此,目的地部署结束
Extract install files..........
1.English(English)
2.Simplified Chinese(简体中文)
Select the language to install[2.Simplified Chinese(简体中文)]:
/tmp/DMHSInstall/install.log
1.免费试用达梦数据实时同步
2.使用已申请的Key文件
验证许可证文件[1.免费试用达梦数据实时同步]:2
Key文件路径:/home/dmhs.key
Key文件限制信息如下:
有效日期:2022-06-25
用户名称:达梦公司产品试用
服务器颁布类型:试用版
发布类型:企业版
Key类型:企业版
授权用户数:无限制
并发连接数:无限制
1.精简版
2.完整版(web客户端)
3.自定义
安装类型[1.精简版]:3
1.实时同步软件服务器
2.远程部署工具
3.实时同步软件客户端
4.内置数据库
5.ODBC驱动
6.实时同步软件配置助手
7.手册
输入选择安装组件的序号,以','分隔:1,7
1.实时同步软件服务器
2.手册
所需磁盘空间:462 MB
安装目录: [/home/oracle/dmhs]
1.统一部署
2.现在初始化
是否初始化达梦数据实时同步系统[1.统一部署]:2
正在安装
default start ... default finished.
server start ... server finished.
doc start ... doc finished.
postinstall start ... postinstall finished.
正在创建快捷方式
安装成功
实时同步服务(DMHS)配置
1.英文(English)
2.简体中文(简体中文)
Dmhs语言[2.简体中文(简体中文)]:
请输入mgr端口号 (1000-65535)[5345]:
请输入信息收集间隔 时间(1-60)秒[3]:
请输入检查点间隔时间(10-65536)秒[60]:
请输入站点id(0-65536):2
达梦数据实时同步服务
1.自动
2.手动
启动方式:[2.手动]
正在创建达梦数据实时同步服务
状态监控服务
启动方式:[1.自动]
正在创建状态监控服务
达梦数据实时同步V4.0安装完成
更多安装信息,请查看安装日志文件:
/home/oracle/dmhs/log/install.log
进入到/home/oracle/dmhs/bin的文件目录,检查捕获器依赖
linux-vdso.so.1 => (0x00007ffd85582000)
libc.so.6 => /lib64/libc.so.6 (0x00007f3ab4500000)
libm.so.6 => /lib64/libm.so.6 (0x00007f3ab427b000)
librt.so.1 => /lib64/librt.so.1 (0x00007f3ab4073000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3ab3e56000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f3ab3c51000)
libdmhs_net.so => ./libdmhs_net.so (0x00007f3ab39f5000)
libdmhs_pub.so => ./libdmhs_pub.so (0x00007f3ab36c6000)
libdmhs_ld_ora.so => ./libdmhs_ld_ora.so (0x00007f3ab3460000)
libdmhs_ucvt.so => ./libdmhs_ucvt.so (0x00007f3ab2f05000)
libclntsh.so.11.1 => /data1/app/oracle/product/11.2.0/lib/libclntsh.so.11.1 (0x00007f3ab049b000)
/lib64/ld-linux-x86-64.so.2 (0x0000003a41a00000)
libdmhs_bool_parse.so => ./libdmhs_bool_parse.so (0x00007f3ab028a000)
libnnz11.so => /data1/app/oracle/product/11.2.0/lib/libnnz11.so (0x00007f3aafebd000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f3aafca3000)
libaio.so.1 => /lib64/libaio.so.1 (0x00007f3aafaa2000)
修改配置dmhs.hs参数
vi dmhs.hs
<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port>
<name>ora11g</name>
<ckpt_interval>60</ckpt_interval>
<siteid>3</siteid>
<version>2.0</version>
</base>
<cpt>
<enable>1</enable>
<name>cpt</name>
<db_type>Oracle11g</db_type>
<db_server>192.168.200.202:1521/SANAN</db_server>
<db_user>dmhs</db_user>
<db_pwd>dmhs123456</db_pwd>
<db_port>1521</db_port>
<ddl_mask>op:obj:COMMENT</ddl_mask>
<char_code>PG_UTF8</char_code>
<constraint>1</constraint>
<arch>
<clear_interval>600</clear_interval>
<clear_flag>0</clear_flag>
</arch>
<arch/>
<send>
<data_file>
<path>/home/oracle/dmhs_file</path>
<switch_interval>10</switch_interval>
<size>64</size>
</data_file>
<filter>
<enable>
<item>DMHS.*</item>
<item>JACK.*</item>
</enable>
</filter>
<map>
<item>DMHS.*==DMHS.*</item>
<item>JACK.*==JACK.*</item>
</map>
</send>
</cpt>
</dmhs>
启动脚本,查看日志信息(另起窗口)
Starting DmhsServicesrc_oracle: [ OK ]
打开dmhs_console控制器执行clear exec lsn,若出现如下日志即成功
DMHS console tool: V4.1.48-Build(2021.09.09-102088trunc)_D64
Copyright (c) 2020, DMHS. All rights reserved.
Type ? or "help" for help, type "quit" to quit console.
连接到DMHS:127.0.0.1:5345
执行成功
Dameng HS Server V4.1.48-Build(2021.09.09-102088trunc)_D64
DMHS> clear exec lsn
执行成功
到此,源端部署结束
insert into dmhs.test values(1,'中文测试');
commit;
./dmhs_console
DMHS console tool: V4.1.48-Build(2021.09.09-102088trunc)_D64
Copyright (c) 2020, DMHS. All rights reserved.
Type ? or "help" for help, type "quit" to quit console.
连接到DMHS:127.0.0.1:5345
执行成功
Dameng HS Server V4.1.48-Build(2021.09.09-102088trunc)_D64
DMHS> copy 0 "sch.name='DMHS' and tab.name='TEST'" create|insert|fast
copy mask is : |CREATE|INSERT|TABLE|FAST|PARTITION|OBJID|REP
执行完成,请查看执行模块日志,检查数据装载是否成功
启动同步,在装载测试的表插入带有中文的数据,观察达梦这边同步情况
DMHS > start cpt
#### (2)插入数据
INSERT INTO TEST VALUES(2,'同步测试')
commit;
文章
阅读量
获赞