暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DM7端(执行端)配置DMHS

原创 醒醒别睡了 2021-09-03
1070

一、dm7端(执行端)配置

1、关闭防火墙:

service iptables stop
chkconfig iptables off

2、dm7开启归档,禁用触发器

1.检查归档配置的正确性:

SELECT ARCH_DEST, ARCH_FILE_SIZE FROM SYS.V$DM_ARCH_INI WHERE ARCH_TYPE='LOCAL' AND ARCH_IS_VALID='Y';

2.检查逻辑日志的正确性:

SELECT PARA_VALUE FROM SYS.V$DM_INI WHERE PARA_NAME = 'RLOG_APPEND_LOGIC';

查询结果:
行号 PARA_VALUE


1 1

3.检查在线日志:

SELECT PATH FROM SYS.V$RLOGFILE;

4.检查 FAST_COMMIT 参数是否为 0

select para_value from v$dm_ini where para_name = 'FAST_COMMIT';


3、dm7在dm.ini配置文件中设置逻辑日志标记:

RLOG_APPEND_LOGIC = 1
BATCH_PARAM_OPT = 0 #是否启用批量参数优化,0:不启用;1:启用,默认不启用。当置为 1时,不返回操作影响的行数;

可以通过存储过程函数动态修改:

SP_SET_PARA_VALUE(1,'RLOG_APPEND_LOGIC',1);
SP_SET_PARA_VALUE(1,'BATCH_PARAM_OPT',0);

注意:dm.ini 配置参数中“FAST_COMMIT”必须为 0,否则会导致逻辑日志不全而影响同步。

4、在dm7上创建连接用户dmhs

在dm7上要创建oracle上要创建的相同的模式,选择创建模式或者模式和表来传输 NW_HS_TEST.TEST

5、启动dmhs服务:

./dmhs_server dmhs.xml

6、另开一个连接启动控制台

./dmhs_console
<DMHS> connect 127.0.0.1:5345
<DMHS> start exec
<DMHS> state exec
<DMHS> state

备注

DM7端的dmhs.hs

  <?xml version="1.0" encoding="GB2312" standalone="no"?>
    <dmhs>
        <base>
            <lang>ch</lang>
            <mgr_port>5345</mgr_port>
            <chk_interval>3</chk_interval>
            <ckpt_interval>60</ckpt_interval>
            <siteid>2</siteid>
        </base>
        <recv>
            <data_port>5346</data_port>
            <exec>
                <db_type>DM7</db_type>
                <db_server>192.168.187.131</db_server>
                <db_user>DMHS</db_user>
                <db_pwd>DMHS123456</db_pwd>
                <db_port>5236</db_port>
                <level>0</level>
 <exec_mode>1</exec_mode>  #执行模式类型,1代表常规执行模式,2代表ETL CDC执行模式
                <exec_thr>6</exec_thr> #EXEC 模块用来数据入库的工作线程数,取值范围在 1-1024,默认值 1。
                <exec_sql>1024</exec_sql> #EXEC 模块缓存事务 SQL 语句的内存大小,取值范围在 32-40960,单位 M,默认值 512。
                <exec_trx>5000</exec_trx> #允许缓存事务的个数,取值范围在 1000-10000,默认值 5000
                <exec_rows>1000</exec_rows>  #数据入库时允许的最大批量行数,取值范围在 1-2000,默认值 1
                <case_sensitive>1</case_sensitive>  #NET 模块针对对像名大小写敏感
                <toggle_case>0</toggle_case>  #EXEC 模块操作数据库对像时,对像名保持大小写不变
                <exec_policy>2</exec_policy>  #事务入库出错时,忽略出错的操作后继续执行,出错事务中的其它操作会继续进行入库
                <ddl_continue>1</ddl_continue>  #DDL 出错时是否允许继续同步
                <commit_policy>1</commit_policy>  #多个事务并行入库时如果事务之间有关联的表,关联事务会按各事务提交的先后顺序串行执行,非关联的事务则并行执行
                <enable_merge>1</enable_merge>  #启用事务合并功能
            </exec>
     </recv>
    </dmhs>

可能出现的问题

创建好配置文件后,启动exec报错:
库文件 ./libdmhs_exec.so 未找到

在release目录下

ldd libdmhs_exec.so

显示libdodbc.so => not found
source ~/.bash_profile
找到该库文件

[root@redhat /]# find -name libodbc.so*

将依赖添加上

[root@redhat /]# cp /usr/lib/libodbc.so.1 /usr/lib/libodbc.so.2

即可解决错误

更多资讯请上达梦技术社区了解:https://eco.dameng.com

最后修改时间:2021-09-18 16:04:30
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论