目的端:IP 192.168.243.2 操作系统:kylin V10 数据库 DM8
源端:IP 192.168.243.2 操作系统:kylin V10 数据库 DM8
上传odbc安装包
解压后使用以下命令进行安装
./configure
make && make install
查看安装结果
odbcinst -j
修改配置文件
进入配置文件所在目录
cd /usr/local/etc/
修改配置文件odbc.ini
[dm8]
Description = DM ODBC DSND
DRIVER = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5236
odbcinst.ini
[DM8 ODBC DRIVER]
ODBC DRIVERDescription = ODBC DRIVER FOR DM8
DRIVER = /data/dmdbms/bin/libdodbc.so
注意:odbcinst.ini文件中,中括号的内容对应odbc.ini文件中的DRIVER参数的值,odbcinst.ini的DRIVER参数的文件路径为达梦数据库安装bin目录下的libdodbc.so,本地安装需要根据实际安装路径进行修改
验证结果
su - dmdba
isql dm8
mkdir /data/dmhs
chown dmdba:dinstall /data/dmhs/
./dmhs_V3.3.18_dm8_rev139073_rh6_64_20230904.bin -i
安装过程
大部分参数都有默认值,安装目录可以指向指定的路径,内置数据库IP为服务器本身IP
3. 数据库配置
数据库需要开启归档日志功能
./disql SYSDBA/SYSDBA:5236 #进数据库
ALTER DATABASE MOUNT;
ALTER DATABASE ADD ARCHIVELOG
'DEST=/dm/dmarch,TYPE=LOCAL,SPACE_LIMIT=0';
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
select para_value from v$dm_ini where para_name in('ARCH_INI');
--开启逻辑日志
SP_SET_PARA_VALUE(1,'RLOG_APPEND_LOGIC',1);
select para_value from v$dm_ini where para_name in('RLOG_APPEND_LOGIC');
使用管理工具打开dmhs安装目录下的ddl语句并执行
/data/dmhs/scripts/ddl_sql_dm8.sql
执行完成后,可以看到SYSDBA模式下,会创建9个DMHS开头的表
4. dmhs.hs配置
目的端:
vim /data/dmhs/bin/dmhs.hs
<?xml version="1.0" encoding="utf-8"?>
<dmhs>
<base>
<lang>en</lang>
<mgr_port>5345</mgr_port>
<chk_interval>60</chk_interval>
<siteid>2</siteid>
<version>2.0</version>
</base>
<exec>
<recv>
<data_port>5346</data_port>
</recv>
<db_type>dm8</db_type>
<db_server>127.0.0.1</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port>5236</db_port>
<exec_thr>4</exec_thr>
<exec_sql>512</exec_sql>
<exec_trx>5000</exec_trx>
<exec_rows>250</exec_rows>
</exec>
</dmhs>
保存后执行以下命令
./dmhs_server dmhs.hs start
start exec
源端
vim /data/dmhs/bin/dmhs.hs
<?xml version="1.0" encoding="utf-8"?>
<dmhs>
<base>
<lang>en</lang>
<mgr_port>5345</mgr_port>
<chk_interval>60</chk_interval>
<siteid>1</siteid>
<version>2.0</version>
</base>
<cpt>
<db_type>dm8</db_type>
<db_server>127.0.0.1</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port>5236</db_port>
<db_name></db_name>
<ddl_mask>obj:op</ddl_mask>
<parse_thr>1</parse_thr>
<arch>
<clear_interval>600</clear_interval>
<clear_flag>0</clear_flag>
<bak_dir></bak_dir>
</arch>
<send>
<ip>192.168.243.2</ip>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<level>0</level>
<trigger>1</trigger>
<constraint>1</constraint>
<identity>1</identity>
<net_turns>0</net_turns>
<filter>
<enable>
<item>SYSDBA.*</item>
</enable>
<disable>
</disable>
</filter>
<map>
<item>SYSDBA.*==SYSDBA.*</item>
</map>
</send>
</cpt>
</dmhs>
enable和map标签下的item可配置多个,enable是推送给目的端的表,map是与目的端表的映射关系
保存后执行以下命令启动
./dmhs_server dmhs.hs
clear exec lsn #为了初始化日志的起始位置。
copy 0 "sch.name='SYSDBA'" DICT|CREATE|INSERT #装载数据,配置同步掩码 一次就行
start cpt
5. 验证
在源端创建一个表,并插入数据,在目的端查询是否存在这个表,且表中有源端插入的数据
DMHS安装过程中可能会出现一些问题,例如安装包没有权限,需要赋权
chmod -R 755 /opt/dmhs_V3.3.18_dm8_rev139073_rh6_64_20230904.bin
或者提示临时安装空间不足
The Temp Directory's size is too small, please set the size more than 1000M to run the Setup. Or set DMHS_INSTALL_TMPDIR environment variable to assign the temporary directory of DMHS Installer
需要指向新的临时空间
mkdir /home/dmdba/dmhs
export DMHS_INSTALL_TMPDIR=/home/dmdba/dmhs/
目的端或源端启动报错
1.提示某些文件查询不到
MGR[ERROR]: lib libdmhs_exec.so can not found,error code 2, libdodbc.so: cannot open shared object file: No such file or directory
MGR[ERROR]: log exec start fail
执行以下命令,查询有缺少哪些配置文件
ldd libdmhs_exec.so
缺少libdodbc.so文件,可以从达梦按照目录的bin目录下找到这个文件,复制到dmhs的bin目录就行
缺少libdmoci.so这些文件,需要下载对应数据库版本so文件,上传到bin目录
提示70089 加密模块加载失败错误
bin目录下缺少libcrypto.so文件,上传上去即可
dmhs.hs配置内容错误
检查配置文件中各个标签是否正确,是否存在缺少尖括号等问题
文章
阅读量
获赞