DMHS

DMHS_DM8-DM8

环境准备

主机

dmhs-1

dmhs-2

ip

10.0.0.121

10.0.0.122

操作系统

kylin

kylin

数据库

DM8

DM8

安装ODBC

yum -y install unixODBC

配置

vim /etc/odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so

修改配置文件

vim /etc/odbc.ini
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5236

DMHS部署安装

1.创建安装目录

mkdir -p /dm/dmhs
chown -R dmdba.dinstall /dm/dmhs/

2.安装

cd /sofe
./dmhs_V4.3.14_dm8_rev133809_rh6_64_20230704_sp8.bin -i

fig:

fig:

3.主机01操作完成后主机02重复以上操作

fig:

4.数据库配置

./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安装目录下script子目录的“ddl_sql_dm8.sql”脚本的内容使用DM管理工具进行执行
执行完成后,使用以下SQL语句查询辅助表是否创建成功
select owner, table_name from dba_tables where owner = 'SYSDBA' and table_name like 'DMHS%' and status = 'VALID';
执行以下SQL语句查询触发器是否创建成功:
select owner, trigger_name from dba_triggers where owner = 'SYSDBA' and trigger_name like 'DMHS%' and status = 'Y';

fig:

5.DMHS目的执行端配置

创建配置文件

cd /dm/dmhs/bin
vim dmhs.hs
<?xml version="1.0" encoding="GB2312"?>
<dmhs>

<base> <!-- 管理模块的基本配置 -->
<lang>en</lang> <!-- 语言选项,ch 为中文,en 为英文 -->
<mgr_port>5345</mgr_port> <!-- 管理端口号,默认为5345-->
<ckpt_interval>60</ckpt_interval> <!-- 检查点间隔,默认60 -->
<siteid>2</siteid> <!-- 站点ID,这个ID配置时要注意,全局唯一,最小值0,最大值65535 -->
<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> <!-- 目标端数据库服务名或IP -->
<db_user>SYSDBA</db_user> <!-- 目标端数据库用户 -->
<db_pwd>SYSDBA</db_pwd> <!-- 用户的密码 -->
<db_port>5236</db_port> <!-- 目标端数据库端口 -->
<db_name></db_name> <!-- 默认数据库名,默认为空串(只针对dm6有用)-->
<char_code>PG_GB18030</char_code>
<exec_thr>4</exec_thr> <!-- 执行线程个数,只有当 exec_mode 为 1 时才会生效!默认为1 -->
<exec_sql>1024</exec_sql> <!-- SQL 缓存大小,默认为 512M -->
<exec_trx> 5000 </exec_trx> <!-- 事务缓存个数,默认为 5000 -->
<exec_rows>1000</exec_rows> <!-- 批量绑定行数,默认为 250 -->
</exec>
</dmhs>

启动服务

./dmhs_server dmhs.hs start
start exec

fig:

6.DMHS源端配置

cd /dm/dmhs/bin
vim dmhs.hs
<?xml version="1.0" encoding="GB2312"?>
<dmhs>

<base>
<lang>en</lang>
<mgr_port>5345</mgr_port>
<ckpt_interval>60</ckpt_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_ssl_path></db_ssl_path>
<db_ssl_pwd></db_ssl_pwd>
<parse_thr>1</parse_thr>
<ddl_mask>op:obj</ddl_mask> <!--DDL 配置项-->
<arch><!--归档清理配置项-->
<clear_interval>600</clear_interval>
<clear_flag>0</clear_flag>
</arch>
<send><!-- 发送模块配置 -->
<ip>10.0.0.122</ip>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<trigger>1</trigger><!-- 是否忽略触发器,默认为 0,限定值 0,1 -->
<constraint>1</constraint><!-- 是否忽略约束,默认为 0,限定值 0,1 -->
<identity>1</identity>
<net_turns>0</net_turns>
<filter><!--过滤配置项-->
<enable><!-- 白名单,所有允许同步的表 -->
<item>SYSDBA.*</item>
</enable>
</filter>

<map><!--映射配置项-->
<item>SYSDBA.*==SYSDBA.*</item>
</map>

</send>
</cpt>
</dmhs>

启动源端

./dmhs_server dmhs.hs
clear exec lsn #为了初始化日志的起始位置。
copy 0 "sch.name='SYSDBA'" DICT|CREATE|INSERT #装载数据,配置同步掩码--一次就行
start cpt

fig:

创建测试库,添加数据

create table a(
id int,
name varchar(255)
);
insert into a values(1,'john');

查看是否同步

fig:

fig:

 

https://eco.dameng.com

posted @ 2023-09-05 17:04  李导7323  阅读(45)  评论(0)    收藏  举报