达梦数据实时同步软件(DMHS)产品介绍及安装部署
达梦数据实时同步软件(以下简称 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软件配置前,需要设置源端数据库归档、附加⽇志参数,并准备相关数据同步参数。
1. 归档参数
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同步功能:
1. 启⽤DM7数据库系统参数“RLOG_APPEND_SYSTAB_LOGIC”,该参数启⽤在⽇志中记录系统表逻辑操作功能。该参数默认取值
为0,即不启⽤;设置为1时,启⽤该功能。由于该参数为“静态”参数,更改参数设置后,需要重启数据库才能⽣效。参数查询及修改⽅式可参考⽂3.1.2节。同时也需要在DMHS配置⽂件中进⾏ddl_mask参数配置,⽤于设置DDL同步对象及操作。
2. 执⾏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之前,需要做好相关准备⼯作,具体有如下准备⼯作:
1. 检查操作系统及数据库版本以及位数,确保与待部署的DMHS版本相匹配。
2. 规划好源端DMHS可使⽤的安装部署路径。
3. DMHS部署需要设置管理端⼝号(mgr_port)和数据端⼝号(data_port),因此在部署之前,需要提供两
个端⼝号以供使⽤。
4. 在部署之前需要明确DMHS配置⽂件中连接DM7数据库的⽤户(db_user)及密码(db_pwd),该⽤户需要具有操作待同步表的权限。
mysql配置与安装过程
5. 确定是否有DDL同步需求,如果有,确定待同步的对象如表、视图、存储过程、函数、序列等,并且需要确定对象的操作如创建、删
除、修改等。根据此同步需求设置ddl_mask参数值。
6. 确定源端DM7数据库的归档⽇志是否需要DMHS进⾏处理如删除、保留或转移。依据此需求设置clear_flag参数值。
7. 确定需要进⾏数据同步的⽤户表(⽩名单及⿊名单)及同步映射关系,并据此需求,完成filter及map元素项的参数值设置。
⽬的端准备⼯作
DMHS部署分为源端部署和⽬的端部署两个步骤。在完成源端相关准备⼯作后,需要进⾏⽬的端的相关准备,具体有如下准备⼯作:
1. 检查操作系统及数据库版本以及位数,确保与待部署的DMHS版本相匹配。
2. 规划好⽬的端DMHS可使⽤的安装部署路径。
3. DMHS部署需要设置管理端⼝号(mgr_port)和数据端⼝号(data_port),在部署之前,需要提供两个端⼝号以供使⽤。
4. 在部署之前需要明确DMHS配置⽂件中⽬的端DM7数据库的⽤户(db_user)及密码(db_pwd),该⽤户⽤来执⾏同步,需要具有操作其
他同步⽤户的权限。
5. 源端是否有序列同步,如果有,⽬的端配置⽂件中需要设置参数“seq_sync_mode”取值为1。
⽬的端同步表上是否有触发器,如果有,需要禁⽤触发器。
系统环境检查
1. 环境变量检查
Linux环境下,DMHS同步源端和⽬的端需要设置环境变量LD_LIBRARY_PATH,该环境变量需要包含
DM7数据库安装路径bin⽬录,⽤于相关共享库的查。使⽤echo命令进⾏查询:
Linux平台: echo $LD_LIBRARY_PATH
Windows平台则需要设置PATH环境变量,使其包含DM7数据库安装路径bin⽬录,使⽤echo命令进⾏查询:
Windows平台:echo %PATH%
1. 端⼝状态检查
检查DMHS配置端⼝的状态,确保端⼝未被占⽤,使⽤netstat命令查询:
Linux平台: netstat -ntlp | grep 端⼝号
Windows平台: netstat -ano | findstr “端⼝号”
安装部署
DMHS安装部署步骤较为简单,只需要在规划的安装⽬录下根据bin(Linux)或exe(Windows)安装向导程序执⾏安装步骤即可;也可以直接在安装⽬录下上传执⾏程序⽂件。具体的安装⽅法和步骤可参阅⽤
户⼿册。安装部署的重点在于DMHS配置⽂件,在安装完执⾏程序后,完成配置⽂件的参数设置⼯作,即完成整个部署操作。鉴于DMHS同步源端和⽬的端的⼯作机制,同步源端和⽬的端的配置⽂件参数并不⼀样,需要分别进⾏配置。
源端部署
根据源端准备⼯作中的相关参数调研,可形成如下⽰例配置⽂件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>1</siteid>              <!-- 源端站点编号-->
<version>2.0</version>
</base>
<cpt>
<db_type>DM7</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>
<idle_time>300</idle_time>
<ddl_mask>OBJ:OP</ddl_mask>  <!--DDL同步参数-->
<arch>
<clear_interval>600</clear_interval>
<clear_flag>0</clear_flag>  <!--归档删除标识-->
</arch>
<send>
<ip>192.168.200.83</ip>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<net_pack_size>256</net_pack_size>
<net_turns>0</net_turns>
<crc_check>0</crc_check>
<trigger>0</trigger>
<constraint>0</constraint>
<identity>0</identity>
<filter>                      <!--过滤规则-->
<enable>
<item>SYSDBA.*</item>
</enable>
<disable/>
</filter>
<map>                      <!--映射规则-->
<item>SYSDBA.* == SYSDBA.*</item>
</map>
</send>
</cpt>
</dmhs>
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 >

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。