注册
DMHS搭建dm8到dm8过程分享
专栏/技术分享/ 文章详情 /

DMHS搭建dm8到dm8过程分享

连亚伟 2023/10/19 1372 0 0
摘要

环境准备

目的端:IP 192.168.243.2 操作系统:kylin V10 数据库 DM8
源端:IP 192.168.243.2 操作系统:kylin V10 数据库 DM8

安装odbc

上传odbc安装包
解压后使用以下命令进行安装

./configure 
make && make install

查看安装结果

odbcinst -j

image.png
修改配置文件
进入配置文件所在目录

 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

image.png

DMHS部署安装

  1. 创建安装目录
mkdir /data/dmhs
chown dmdba:dinstall /data/dmhs/
  1. 安装
    两台服务器都安装以下操作进行安装
 ./dmhs_V3.3.18_dm8_rev139073_rh6_64_20230904.bin -i

安装过程
image.png
大部分参数都有默认值,安装目录可以指向指定的路径,内置数据库IP为服务器本身IP
image.png
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

image.png
源端

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

image.png
image.png
image.png
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

image.png
缺少libdodbc.so文件,可以从达梦按照目录的bin目录下找到这个文件,复制到dmhs的bin目录就行
缺少libdmoci.so这些文件,需要下载对应数据库版本so文件,上传到bin目录
提示70089 加密模块加载失败错误
image.png
bin目录下缺少libcrypto.so文件,上传上去即可

dmhs.hs配置内容错误
image.png
检查配置文件中各个标签是否正确,是否存在缺少尖括号等问题

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服