达梦数据实时同步软件 (DMHS) 产品介绍及安装部署 您所在的位置:网站首页 达梦dmhs控制台部署 达梦数据实时同步软件 (DMHS) 产品介绍及安装部署

达梦数据实时同步软件 (DMHS) 产品介绍及安装部署

2024-07-14 16:11| 来源: 网络整理| 查看: 265

达梦数据实时同步软件(以下简称 DMHS)是支持异构环境的高性能、高可靠、高可扩展数据库实时同步复制系统。该产品采用基于日志的结构化数据复制技术,不依赖主机上源数据库的触发器或者规则,对主机源数据库系统几乎无影响,能以极少的系统开销实现秒级数据实时同步复制。

DMHS 基于成熟的关系数据模型和标准接口,支持多种软硬件平台,能够灵活的配置出一对一、一对多、多对一、多对多以及级联等多种形式的复制拓扑结构,可以广泛应用于应急系统、容灾备份、负载均衡、数据移植、联机维护、订阅分发、多业务中心等业务领域。

支持多种异构数据平台

DMHS 可以支持多种异构数据平台,可以根据用户需求采用非常灵活的方式配置出各种拓扑结构。 目前,源数据库可支持 DM 各系列、Oracle9i、Oracle10g、Oracle11g、Oracle12c、ORACLE RAC 集群、DB2、PostgreSQL、MySQL 等。目的数据库支持具有 ODBC 标准接口实现的各种主流关系数据库管理系统,目前适配过的数据库有 DM 各系列、DM 集群、Oracle9i、Oracle10g、Oracle11g、Oracle12c、ORACLE RAC 集群、DB2、Sybase、SQLServer、PostgreSQL、MySQL 等。

DMHS 支持多种计算机操作系统平台,支持 Windows 系列、Linux 系列、IBM AIX、HP-UNIX 系列、Solaris 系列、国产操作系统 Kylin、Rocky 等 32 位和 64 位操作系统。

DMHS 支持多种复制结构,支持不同厂商硬件(主机、存储)之间数据库的数据复制。DMHS 的开放式体系结构使其能够适应各种异构数据平台。DMHS 支持一对一同步 、一对多广播型同步 、多对一聚合型同步 、双向同步、多对多同步、多级中转级联同步等多种数据同步形式,支持组合多种同步形式以搭建复杂的拓扑结构。DMHS 支持主流厂商的硬件(主机、存储)之间数据库的数据复制,例如 IBM、HP、联想、华为、浪潮、曙光等硬件厂商,兼容多种硬件体系,可运行于于 X86、SPARC、POWER 等硬件平台之上,还支持龙芯、鲲鹏、飞腾、海光、兆芯、神威等国产 CPU 硬件平台,产品实现了平台无关性。DMHS 能够在目前流行的各种软硬件平台和数据库环境下传输数据,在同一解决方案架构下,实现企业不同平台上的多个信息系统的统一复制的支持。

支持数据库的所有主流类型字段

DMHS 是目前业内成熟的数据复制和数据实时同步软件,支持目前主流所有数据库的数据类型字段同步,支持数值类型 (NUMBER、NUMERIC、DECIMAL、DEC、INTEGER、INT、SMALLINT、FLOAT、REAL、DOUBLE PRECISION、BINARY_FLOAT、BINARY_DOUBLE)、字符类型 (CHAR、VARCHAR、NCHAR、NVARCHAR2)、二进制数据类型 (BINARY、VARBINARY)、时间日期类型 (DATE、TIME、DATETIME、INTERVAL YEAR TO MONTH INTERVAL DAY TO SECOND)、大对象类型 (CLOB、BLOB、NCLOB、LONG、LONG RAW) 等主流类型字段的同步。

下面我们介绍一下DMHS的部署过程

安装前的准备工作

在进行DMHS软件配置前,需要设置源端数据库归档、附加日志参数,并准备相关数据同步参数。

归档参数

DMHS同步源端数据库需要开启归档模式,使用如下语句检查DM归档是否开启:

SQL> select arch_mode from v$database;

LINEID     ARCH_MODE

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

1           Y

used time: 3.236(ms). Execute id is 123.

如果ARCH_MODE字段查询结果为“N”,则DM数据库归档未开启,使用如下系列命令开启归档模式。开启归档模式,需要确定归档类型、归档路径、归档文件大小、归档空间大小限制参数,根据实际情况进行设置。具体可参阅《DM7系统管理员手册》。

alter database mount;

alter database add archivelog 'DEST=/opt/dm7_arch,TYPE=LOCAL,FILE_SIZE=256,SPACE_LIMIT=0';

alter database archivelog;

alter database open;

SQL> alter database mount;

executed successfully

used time: 00:00:01.144. Execute id is 0.

SQL> alter database add archivelog 'DEST=/opt/dm7_arch,TYPE=LOCAL,FILE_SIZE=256,SPACE_LIMIT=0';

executed successfully

used time: 7.437(ms). Execute id is 0.

SQL> alter database archivelog;

executed successfully

used time: 10.277(ms). Execute id is 0.

SQL> alter database open;

executed successfully

used time: 00:00:01.262. Execute id is 0.

注意:

     在数据库运行过程中,若需要开启归档模式,需要与DBA进行沟通

2、附加日志参数 DMHS同步源端数据库需要开启附加日志参数” RLOG_APPEND_LOGIC”,使用如下语句查询DM7数据库中该参数是否启用:

SQL> select * from v$dm_ini where para_name='RLOG_APPEND_LOGIC';

LINEID     PARA_NAME        PARA_VALUE MIN_VALUE MAX_VALUE

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

1          RLOG_APPEND_LOGIC    1              0              2

used time: 2.016(ms). Execute id is 125.

PARA_VALUE结果集为1,说明该功能已开启。如果取值为0,需要启用该参数功能。调用系统过程开启该参数或者手动更改dm.ini配置文件中的‘RLOG_APPEND_LOGIC’参数值为1,由于该参数为“静态”参数,需要重启数据库才能生效。

SQL> call sp_set_para_value(2,'RLOG_APPEND_LOGIC',1);

PL/SQL executed successfully

used time: 6.362(ms). Execute id is 127.

以上sp_set_para_value调用表示修改dm.ini文件中的’RLOG_APPEND_LOGIC’参数值为1。该系统过程的定义可参见《DM7_SQL语言使用手册》。

注意:

     在数据库运行过程中,若需要重启数据库,需要与DBA沟通。

3、DDL同步参数

DMHS支持DDL同步功能,但是默认不启用该功能。对于同步源端为DM7数据库,有两种方式启用DDL同步功能:

启用DM7数据库系统参数“RLOG_APPEND_SYSTAB_LOGIC”,该参数启用在日志中记录系统表逻辑操作功能。该参数默认取值为0,即不启用;设置为1时,启用该功能。由于该参数为“静态”参数,更改参数设置后,需要重启数据库才能生效。参数查询及修改方式可参考文3.1.2节。同时也需要在DMHS配置文件中进行ddl_mask参数配置,用于设置DDL同步对象及操作。执行DDL同步脚本方式。在源端DM7数据库中以SYSDBA用户执行DDL同步脚本,在SYSDBA模式下创建相关DMHS系统表及触发器,并在DMHS配置文件中配置ddl_mask参数选项以启用该功能。ddl_mask参数的取值参见《达梦数据实时同步软件用户手册》。

目前DDL同步脚本最新版本为version 2.2。同步脚本位于DMHS安装目录的scripts子目录下,命名为:ddl_sql_dm7.sql。运行过程使用以下命令:

./disql

SQL> conn SYSDBA/rootrootroot

SQL> start /opt/ddl_sql_dm7.sql

SQL> exit

源端准备工作

由于DMHS配置文件涉及多个配置项,在安装配置DMHS之前,需要做好相关准备工作,具体有如下准备工作:

检查操作系统及数据库版本以及位数,确保与待部署的DMHS版本相匹配。规划好源端DMHS可使用的安装部署路径。DMHS部署需要设置管理端口号(mgr_port)和数据端口号(data_port),因此在部署之前,需要提供两个端口号以供使用。在部署之前需要明确DMHS配置文件中连接DM7数据库的用户(db_user)及密码(db_pwd),该用户需要具有操作待同步表的权限。确定是否有DDL同步需求,如果有,确定待同步的对象如表、视图、存储过程、函数、序列等,并且需要确定对象的操作如创建、删除、修改等。根据此同步需求设置ddl_mask参数值。确定源端DM7数据库的归档日志是否需要DMHS进行处理如删除、保留或转移。依据此需求设置clear_flag参数值。确定需要进行数据同步的用户表(白名单及黑名单)及同步映射关系,并据此需求,完成filter及map元素项的参数值设置。 目的端准备工作

DMHS部署分为源端部署和目的端部署两个步骤。在完成源端相关准备工作后,需要进行目的端的相关准备,具体有如下准备工作:

检查操作系统及数据库版本以及位数,确保与待部署的DMHS版本相匹配。规划好目的端DMHS可使用的安装部署路径。DMHS部署需要设置管理端口号(mgr_port)和数据端口号(data_port),在部署之前,需要提供两个端口号以供使用。在部署之前需要明确DMHS配置文件中目的端DM7数据库的用户(db_user)及密码(db_pwd),该用户用来执行同步,需要具有操作其他同步用户的权限。源端是否有序列同步,如果有,目的端配置文件中需要设置参数“seq_sync_mode”取值为1。

目的端同步表上是否有触发器,如果有,需要禁用触发器。

系统环境检查 环境变量检查

      Linux环境下,DMHS同步源端和目的端需要设置环境变量LD_LIBRARY_PATH,该环境变量需要包含DM7数据库安装路径bin目录,用于相关共享库的查找。使用echo命令进行查询:

Linux平台: echo $LD_LIBRARY_PATH

Windows平台则需要设置PATH环境变量,使其包含DM7数据库安装路径bin目录,使用echo命令进行查询:

Windows平台:echo %PATH%

端口状态检查

检查DMHS配置端口的状态,确保端口未被占用,使用netstat命令查询:

Linux平台: netstat -ntlp | grep 端口号

Windows平台: netstat -ano | findstr “端口号”

安装部署

DMHS安装部署步骤较为简单,只需要在规划的安装目录下根据bin(Linux)或exe(Windows)安装向导程序执行安装步骤即可;也可以直接在安装目录下上传执行程序文件。具体的安装方法和步骤可参阅用户手册。安装部署的重点在于DMHS配置文件,在安装完执行程序后,完成配置文件的参数设置工作,即完成整个部署操作。鉴于DMHS同步源端和目的端的工作机制,同步源端和目的端的配置文件参数并不一样,需要分别进行配置。

源端部署

根据源端准备工作中的相关参数调研,可形成如下示例配置文件dmhs.hs:

       ch

       5345     

       3

       60

       1              

       2.0

   

       DM7

       127.0.0.1

       SYSDBA    

       SYSDBA    

       5236

       300

       OBJ:OP   

       

             600

             0   

       

       192.168.200.83 

       5345 

       5346 

       256

       0

       0

       0

       0

       0

                             

            

                SYSDBA.*

            

    

      

                             

               SYSDBA.* == SYSDBA.*

      

DMHS运行维护

DMHS的启动运行包括同步源端启动和同步目的端启动,一般先启动同步目的端,然后启动同步源端。DMHS运行过程中会详细记录同步运行日志,可以通过查看log日志来观察DMHS运行情况。

DMHS的启动

DMHS可以命令行和后台服务两种方式来启动运行。初次启动时,DMHS仅开启管理服务,对于源端的日志分析和目的端的执行服务均需要通过手动输入控制台命令来启动。在Linux环境下,启动命令如下,Windows平台类似。进入DMHS程序目录,执行DMHS程序dmhs_server。

命令行方式:  ./dmhs_server

服务名方式: ./dmhs_serverd start 或者 service dmhs_serverd start

通过执行dmhs_server程序启动DMHS管理服务后,还需要使用DMHS控制台工具连接管理服务,手动输入控制命令,来分别启动目的端的exec和源端的cpt服务。

./dmhs_console

CSL[INFO]: DMHS控制台工具: V3.0.2.01-Build(2016.12.15-69394trunc)_64

DMHS >connect 223.254.19.135:5345

CSL[UNKNOW]: 执行成功

DMHS >

启动目的端执行服务的控制台命令: start exec

启动源端捕获服务的控制台命令:   start cpt

DMHS首次启动运行成功后,源端会创建dmhs_cpt.tmp文件,目的端会创建dmhs_exec.tmp文件。该文件无实际内容,仅用作标识控制。下次再次启动DMHS时,若当前程序目录下存在相关文件,则DMHS会自动开启捕获(源端)或者执行服务(目的端),而无需手动输入相应控制台启动命令。

DMHS的停止

  停止DMHS服务,既可以停止DMHS内部相应同步服务,也可以直接退出DMHS进程。

停止同步服务

      对于源端,可以通过控制台工具连接DMHS管理服务,然后执行如下命令来停止捕获分析服务。

DMHS >stop cpt

      对于目的端,通过执行如下命令来停止执行服务。

DMHS >stop exec

以上DMHS服务停止命令执行成功后,DMHS会删除程序目录下的dmhs_cpt.tmp或者dmhs_exe.tmp文件。上述命令执行成功后,数据同步不再进行,但是DMHS进程并未退出。

退出DMHS进程

     退出DMHS进程可以在程序目录下执行如下脚本:

./dmhs_serverd stop 或者使用service dmhs_serverd stop。使用命令行方式启动的程序可以直接退出程序即可。

首次启动注意事项 首次启动DMHS服务,需要首先进行待同步模式或表的字典装载操作,否则无法启动源端捕获分析服务。首次启动DMHS成功后,DMHS会在程序目录下创建后缀为.tmp的文件,用作启动标识。使用停止命令成功停止服务后,会删除这些文件。 每次启动注意事项

要在源端和目的端分别停用linux防火墙。命令:service iptables status/stop



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有