达梦单机DMHS搭建(dm8-dm8)

一 确认环境信息

源端安装HS

2.1 上传安装包

dmhs_V4.2.55_dm8-dsc_rev105986_rh6_64_veri_20220215.bin

scp -r  dmhs_V4.2.55_dm8-dsc_rev105986_rh6_64_veri_20220215.bin/ root@49.233.255.65:/opt/dmsetup

*********

2.2 安装

cd /data

mkdir dmhs

cd /opt/dmsetup

sh dmhs_V4.2.55_dm8-dsc_rev105986_rh6_64_veri_20220215.bin -i

[dmdba@VM-16-10-centos dmsetup]$ sh dmhs_V4.2.55_dm8-dsc_rev105986_rh6_64_veri_20220215.bin -i

Extract install files..........

1.英文(English)

2.简体中文(简体中文)

请选择安装语言[2.简体中文(简体中文)]:2

/tmp/DMHSInstall/install.log

1.免费试用达梦数据实时同步

2.使用已申请的Key文件

验证许可证文件[1.免费试用达梦数据实时同步]:1

1.精简版

2.完整版(web客户端)

3.自定义

安装类型[1.精简版]:1

1.实时同步软件服务器

2.远程部署工具

3.实时同步软件配置助手

4.手册

所需磁盘空间:576 MB

安装目录: [/home/dmdba/dmhs] /data/dmhs

对应盘符不存在,或者磁盘可用空间为01.精简版

2.完整版(web客户端)

3.自定义

安装类型[1.精简版]:1

1.实时同步软件服务器

2.远程部署工具

3.实时同步软件配置助手

4.手册

所需磁盘空间:576 MB

安装目录: [/home/dmdba/dmhs]/data/dmhs

该路径不为空,是否继续安装?[Y or N]Y   --实际是检查是否有这个目录

安装路径可能存在覆盖安装

1.统一部署

2.现在初始化

是否初始化达梦数据实时同步系统[1.统一部署]:1

正在安装

default start ...    default finished.

server start ...    server finished.

hs_agent start ...    hs_agent finished.

hsca start ...    hsca finished.

doc start ...    doc finished.

postinstall start ...    postinstall finished.

正在创建快捷方式

安装成功

远程部署工具配置

远程部署工具名称[HsAgent]:

主机Ip(外网)[10.0.16.10](10.0.16.10):

远程部署工具管理端口[5456](1000-65535):

内置数据库轮询间隔[3](1-60):

内置数据库IP[]:

输入有误,请重新输入!

内置数据库IP[]:10.0.16.10

内置数据库端口[15236](1000-65535):

内置数据库用户名[SYSDBA]:

内置数据库密码[SYSDBA]:

服务脚本环境变量设置

依赖库路径

提示:此配置项供用户配置源或目的数据库依赖库路径和odbc依赖库路径, 多个路径以":"隔开(例:/opt/dmdbms/bin:/usr/local/lib),此配置项会添加到服务脚本的NEED_LIB_PATH的变量值中。

请配置依赖库路径:

远程控制服务

1.自动

2.手动

启动方式:[2.手动]

正在创建远程控制服务

达梦数据实时同步V4.0安装完成

更多安装信息,请查看安装日志文件:

/data/dmhs/log/install.log

三  目标端安装HS

2.1 传输安装包

源端操作:

cd /opt/dmsetup/

scp -r  dmhs_V4.2.55_dm8-dsc_rev105986_rh6_64_veri_20220215.bin/ root@10.0.20.16:/opt/dmsetup

*********

2.2 安装

cd /data

mkdir dmhs

cd /opt/dmsetup

sh dmhs_V4.2.55_dm8-dsc_rev105986_rh6_64_veri_20220215.bin -i

=-=-=-=-=-=-=-

=-=-=-=-=-=-=-

=-=-=-=-=-=-=-

四  环境变量以及日志配置

4.1 环境变量配置(dmdba用户)

    源端: 

4.1.1编辑环境变量文件

cd

vi .bash_profile

最后一排增加(对应修改为自己的安装目录):

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/data/dmhs/bin

(可以通过安装时指定)

export DM_HOME="/opt/dmdbms"

export PATH=/opt/dmdbms/bin:$PATH

export DMHS_HOME=/data/dmhs

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

4.1.2使环境变量生效

source ~/.bash_profile

4.1.3查询环境变量是否设置成功

echo $LD_LIBRARY_PATH

如果有:/opt/dmdbms/bin:/data/dmhs/bin:/data/dmhs/bin:/data/dmhs/bin几个目录则为成功(自己的安装目录)

4.1.4 目标端:

 同源端

4.2 开启逻辑日志(源端目标端都要操作)

SP_SET_PARA_VALUE(2,‘RLOG_APPEND_LOGIC’,1);

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

五 其他设置

 5.1、开启归档和逻辑日志

   5.1.1 设置归档标记和逻辑日志标记。打开 DM8 服务器配置文件“dm.ini”,设置如下值:

   ARCH_INI = 1

   RLOG_APPEND_LOGIC = 1

   5.1.2 添加归档配置文件。在“dm.ini”同目录下创建文件“dmarch.ini”,示例内容如下:

   [ARCHIVE_LOCAL1]

   ARCH_TYPE = LOCAL

   ARCH_DEST = /opt/dmdbms/arch #归档目录

   ARCH_FILE_SIZE = 128 #归档文件大小,单位 MB

   ARCH_SPACE_LIMIT = 0 #空间大小限制,0 表示不限制

   5.1.3 重启 DM8 数据库,使配置参数生效。(之前已经设置不用重启)

   5.1.4 验证配置的正确性

   5.1.4.1 检查归档配置的正确性,请执行以下 SQL 命令:

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

   查询结果如下则为正常:

    

    5.1.4.2 检查逻辑日志配置的正确性,通过下面的查询:

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

    查询结果为1则为正常:

    行号 PARA_VALUE

    ---------- ----------

     1       1

   已用时间: 20.685(毫秒). 执行号:4.

   5.1.4.3 检查在线日志,通过如下的查询:

   SELECT PATH FROM SYS.V$RLOGFILE;

   查询结果如下则为正常:

   行号 PATH

   ---------- ----------------------------------------

   1 /opt/dmdbms/arch/src_db01.log

   2 /opt/dmdbms/arch/src_db02.log

   已用时间: 1.096(毫秒). 执行号:5.

   5.2 、配置 DDL

      如果要求 DDL 同步,那么需要创建 DDL 触发器和辅助表。创建的脚本参见 DMHS 安装目录下 scripts 子目录中“ddl_sql_dm8.sql”。注意创建时需要使用 SYSDBA 用户。

      检查创建的触发器和辅助表是否有效,检查辅助表的语句:(生产最好不开启)

      select owner, table_name from dba_tables where owner = 'SYSDBA' and table_name like 'DMHS%' and status ='VALID';

      查询结果如下则为正常:

      行号 OWNER TABLE_NAME

      ---------- ------ ---------------

      1 SYSDBA DMHS_DDL_COL

      2 SYSDBA DMHS_DDL_SQL

      3 SYSDBA DMHS_DDL_CONS

      4 SYSDBA DMHS_DDL_IDX

      5 SYSDBA DMHS_DDL_RENAME

      6 SYSDBA DMHS_DDL_SEQ

      7 SYSDBA DMHS_DDL_PART

      7 rows got

      已用时间: 197.302(毫秒). 执行号:7.

      检查触发器的语句:

      select owner, trigger_name from dba_triggers where owner = 'SYSDBA' and trigger_name like 'DMHS%' and status = 'Y';

      查询结果如下则为正常:

      行号 OWNER TRIGGER_NAME

      ---------- ------ -----------------------

      1 SYSDBA DMHS_DDL_TRIGGER_AFTER

      2 SYSDBA DMHS_DDL_TRIGGER_BEFORE

      3 SYSDBA DMHS_DDL_TRIGGER_GRANT

      4 SYSDBA DMHS_DDL_TRIGGER_REVOKE

      已用时间: 12.147(毫秒). 执行号:16.

5.3 配置ODBC

     DMHS的odbc的安装

     root用户执行:

     yum search odbc

     yum  install unixODBC.x86_64

     安装完成后修改对应配置文件

     查找对应位置

     odbcinst -j

     cd /etc/

     vi odbc.ini

     [dm8]

     Description = DM ODBC DSND

     Driver = DM8 ODBC DRIVER

     SERVER = localhost

     UID = SYSDBA

     PWD = SYSDBA

     TCP_PORT = 5236

     

     vi odbcinst.ini

     [DM8 ODBC DRIVER]

     Description = ODBC DRIVER FOR DM8

     Driver = /opt/dmdbms/bin/libdodbc.so

     授权:

     chmod 775 odbc.ini

     chmod 775 odbcinst.ini

     测试:

     切换到安装达梦数据库的用户

     [root@dca01 soft]#su  - dmdba

     [root@dca01 soft]#isql odbc

     查看是否安装

     rpm -qa|grep glibc

六 DMHS.HS文件配置

6.1 源端

6.1.1  cd /data/dmhs/bin

vi dmhs.hs

<?xml version="1.0" encoding="utf-8"?>

<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>10.0.16.10</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 配置项-->         OBJ:OP

<arch><!--归档清理配置项-->

<clear_interval>600</clear_interval>

<clear_flag>0</clear_flag>

</arch>

<send><!-- 发送模块配置 -->

<ip>10.0.20.16</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>

6.2 目的端

 cd /data/dmhs/bin

vi dmhs.hs

<?xml version="1.0" encoding="utf-8"?>

<dmhs>

<base>

<lang>en</lang>

<mgr_port>5345</mgr_port>

<ckpt_interval>60</ckpt_interval>

<siteid>2</siteid>

<version>2.0</version>

</base>

<exec>

<recv>

<data_port>5346</data_port>

</recv>

<db_type>dm8</db_type>

<db_server>10.0.20.16</db_server>

<db_user>SYSDBA</db_user>

<db_pwd>SYSDBA</db_pwd>

<driver>DM8 ODBC DRIVER</driver>

<db_port>5236</db_port>

<db_name></db_name>

<exec_thr>4</exec_thr>

<exec_sql>1024</exec_sql>

<exec_trx> 5000 </exec_trx>

<exec_rows>1000</exec_rows>

</exec>

</dmhs>

七 同步测试

7.1  启动dmhs服务

源端和目的端都前台启动dmhs服务:

cd  /data/dmhs/bin

./dmhs_server dmhs.hs

7.2 初始装载

初始装载是将源端数据库中的初始数据装载到目的端数据库,使 DMHS 同步的时刻源和目的端的同步表数据一 致。装载前源端 DMHS 服务和目的端 DMHS 服务都需要开启。

①目的端

目的端新开一个连接,依次执行:

cd /data/dmhs/bin

./dmhs_console

connect

    

[dmdba@VM-20-16-centos bin]$ ./dmhs_console

DMHS console tool: V4.2.55-Build(2022.02.15-105986trunc)_D64

Copyright (c) 2020, DMHS. All rights reserved.

Type ? or "help" for help, type "quit" to quit console.

Connected to DMHS: 127.0.0.1:5345

execute success

Dameng HS Server V4.2.55-Build(2022.02.15-105986trunc)_D64

DMHS> start exec

cd  /data/dmhs/bin

./dmhs_server dmhs.hs

start exec

7.2.2开启源端 DMHS 服务: 初始装载:

cd /data/dmhs/bin

./dmhs_server dmhs.hs

重新打开一个会话:

echo $LD_LIBRARY_PATH

./dmhs_console

DMHS >connect

DMHS >copy 0 "sch.name='SYSDBA'" DICT|LSN|CREATE|INSERT|INDEX

connnect

copy 0"sch.name='SYSDBA' " DICT|LSN|CREATE|INSERT|INDEX

( LOAD|COPY "<过滤条件>" <装载选项> :指 CPT 模块的虚拟编号,虚拟编号是指配置文件中 CPT 配置从上到下的顺序 编号,从 0 开始编号,可以用 STATE 命令来查看每个 CPT 模块的虚拟编号。 "<过滤条件>":指的是装载表的过滤条件,这里面有两个重要的对像前缀,分别是 SCH 和 TAB,分别代表系统表中的模式系统表和对像系统表。 <装载选项>:它是装载命令中最复杂的参数,由一组掩码组成,并且可以按照约定组 59 DMHS 达梦数据实时同步系统管理员手册 合使用, )

DDL设置:

cd /data/dmhs/scripts

执行ddl_sql_dm8.sql

DMHS >start  cpt

--源端 create table SYSDBA.test(id int,name varchar2); insert intoSYSDBA.test values(2,'李'); select * fromSYSDBA.test; 

--检查目的端 select * fromSYSDBA.test;

检验发现同步成功

=========================

注意点:

1 数据库版本和hs版本是否一致,是否适配服务器版本。

2 dmhs.key 是否有

3 dmhs.hs里面的参数是否配错:

   3.1  IP

   源端

   <send><!-- 发送模块配置 -->

   <ip>10.0.20.16</ip>    -----------目的端IP

   目的端:

   </recv>

   <db_type>dm8</db_type>

   <db_server>10.0.20.16</db_server>------也是目的端IP

  3.2 DDL_MASK

    <ddl_mask>op:obj</ddl_mask> <!--DDL 配置项-->OBJ:OP

含义:DDL 操作功能掩码,默认值 TABLE:OP

TABLE:允许捕获表的 DDL 操作。

OBJECT:允许捕获所有数据库对象的 DDL 操作,支持简写 OBJ。

3.3 字符集和语言源端和目的端一致,并与服务器终端一致

   若乱码则 语言 设置为en

4 验证如果存在ddl,需要设置ddl

  cd /data/dmhs/scripts/

  管理工具中执行

  ddl_sql_dm8.sql

5 需要配置odbc  具体配置见上面5.3

6 各种依赖包不能随便使用,需要对应版本。

达梦技术社区:https://eco.dameng.com

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值