• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

H3C SecPath GAP2000-CN[E][AK82X0]系列安全隔离与信息交换系统 典型配置(E6702)-5W101

14-数据库同步配置举例-增量

本章节下载 14-数据库同步配置举例-增量  (1.08 MB)

14-数据库同步配置举例-增量


1  数据库同步介绍

数据库同步模块为系统内及系统间的信息交互和共享提供了一个集成化数据交互和共享空间,可同时满足客户各类平台、数据库及应用之间的数据交换需求。

2  配置前提

本文档不严格与具体软、硬件版本对应,如果使用过程中与产品实际情况有差异,请以设备实际情况为准。

本文档中的配置均是在实验室环境下进行的配置和验证,配置前设备的所有参数均采用出厂时的缺省配置。如果您已经对设备进行了配置,为了保证配置效果,请确认现有配置和以下举例中的配置不冲突。

本文档假设您已了解H3C SecPath GAP2000特性和数据库同步模块功能。

3  配置指导

3.1  测试准备

PC、安全隔离与信息交换系统、SW(交换机)、DB2。

3.2  组网需求

图1所示,HOST1和HOST2上面分别装有DB2数据库。现有以下组网需求:

将用户对内端侧数据库表的操作同步到外端侧数据库,实现内、外网之间,自动安全信息交换。

注:此文档以DB2 为例进行配置指导,新建用户及数据库表进行同步,在实际部署中可使用已有用户及数据库表进行操作。

图1 数据库同步配置组网图

表1 业务梳理:

内网

DB2数据库地址

内端机地址

(连接内网侧的网闸接口地址)

外端机地址

(连接外网侧的网闸接口地址)

外网

DB2数据库地址

192.168.90.41

192.168.90.166

192.168.91.18

192.168.91.20

 

 

3.3  使用版本

3.3.1  网闸版本

数据库同步举例在H3C i-Ware Software, Version 3.1, ESS 6702P02版本,需要License开启。

3.3.2  支持的数据库版本

mysql5.0.2/mysql5.5.60/mysql8.0.26/mysql8.0.39

Oracle10g/11g/12c(CDB)/19c

Sqlserver 2022/ Sqlserver2008R2

DB2 v10.5.0.5/DB2 v11.1.2020.1393;

Kingbase v8r6;

Gbase 8.3.85.12;

PostgreSQL 10.13/PostgreSQL 10.23/PostgreSQL 16

DM8

神通数据库7.0.8

Highgo数据库V4.5.8

sybase数据库15.7

3.4  配置步骤

3.4.1  连通性配置

1. 组网环境配置

配置HOST1、HOST2、管理PC、SW互联口。

2. GAP2000设备上的网络配置

admin用户通过管理PC登录网闸的系统管理端,分别配置内、外端GE0/0的IP地址。

图2 配置内端GE0/0地址

图3 配置外端GE0/0地址

 

 

3.4.2  配置DB2 Server数据库

以配置DB2为例,在内、外端数据库服务器进行相同配置。

1. 安装DB2

在HOST1和HOST2上安装DB2,linux或windows版本均可。

2. 同步用户配置

在host1和host2上登录数据库,创建的示例用户为db2inst1。

CREATE USER db2inst1 IDENTIFIED BY db2inst1;

GRANT CONNECT,RESOURCE,DBA TO db2inst1;

SET AUTOCOMMIT ON;

 

图4 新建同步用户

 

3. 同步数据库表配置

在内、外端使用新建的db2inst1用户登录,创建数据库表。步骤如下:

CREATE TABLE "DB2INST1"."DBTAB'

"NAME" VARCHAR(50 OCTETS)NOT NULL,

"AGE" INTEGER"

IN "USERSPACE1"

ORGANIZE BY ROW

ALTER TABLE "DB2INST1"."DBTAB"

ADD CONSTRAINT "DBTAB PK" PRIMARY KEY

("NAME");

GRANT CONTROL ON TABLE "DB2INST1"."DBTAB" TO USER "DB2INST1";

图5 创建同步表

3.4.3  数据库同步配置

1. 同步数据库配置

(1)     添加内端同步数据库

登录secrecy用户,依次点击:数据库同步>同步数据库配置>添加,添加数据库配置如下。

图6 添加内端同步数据库

 

表2 数据库同步参数说明

参数

说明

节点ID

用于内、外端机系统判断是否为同一条任务的认证ID

描述

填写该配置描述信息

数据库类型

选择配置数据库类型

可选择:Mysql类型,Oracle类型,Db2类型,Sqlserver类型、KingbaseES V8类型、DM类型、GBase类型、PostgreSQL类型、Sybase类型、HighGo类型、神通类型

数据库实例名

sqlserver选填项,如不填写默认实例名

数据库地址

使用的数据库地址

数据库端口

使用的数据库端口,默认即可。如果数据库端口有修改,需要做对应修改

数据库名称

使用的database,此例中使用的是DB2

数据库用户名

使用的数据库用户(具有dba和远程连接权限)

数据库密码

使用的用户密码

Jdbc参数

Mysql的jdbc参数可选择配置,默认即可

大字段病毒检测

用于对数据库大字段类型的病毒过滤

 

(2)     内端同步数据库配置完成后,测试连接。

点击测试连接,提示测试成功。

图7 测试连接

 

测试成功后,点击保存。

图8 查看同步数据库配置-内端机

 

(3)     添加外端同步数据库

登录secrecy用户,依次点击:数据库同步>同步数据库配置>添加,添加数据库配置如下。

图9 添加外端同步数据库

 

(4)     外端同步数据库配置完成后,测试连接。

点击测试连接,提示测试成功。

图10 测试连接

 

测试成功后,点击保存。

图11 查看同步数据库配置-外端机

 

2. 关联数据库

(1)     内端关联数据库

依次点击:数据库同步>关联数据库,添加保存关联数据库。

图12 内端关联数据库配置

查看内端关联的数据库

图13 内端关联的数据库

表3 关联数据库参数说明

参数

说明

关联名称

自定义的关联数据库的名称

同步方式

增量同步:同步更新数据

历史同步:同步旧数据和新数据;以同步方向目的表为准:两端表存在不一致的数据时,目的表数据不被覆盖;以同步方向源表为标准:两端表存在不一致的数据时,目的表数据被覆盖

同步开始时间

自定义数据同步开始的时间,增量同步下生效

同步结束时间

自定义数据同步结束的时间,增量同步下生效

开启定时同步

数据同步完成后,间隔多长时间进行下一次扫描同步,历史同步生效

是否记录日志

历史同步支持配置是否记录日志

扫描间隔(s)

添加扫描间隔时间配置(扫描间隔支持最小1秒最大3600秒)

本端节点ID

用于和对端节点ID匹配

对端节点ID

用于和本端节点ID匹配

(2)     外端关联数据库

依次点击:数据库同步>关联数据库,添加保存关联数据库。

图14 外端关联数据库配置

查看外端关联的数据库

图15 外端关联的数据库

3. 同步表配置

明确同步方向,按照以下原则在对应的内外端机上进行配置;

若数据库表同步方向为内到外,需要在内端进行配置;

若数据库表同步方向为外到内,需要在外端进行配置;

若数据库表同步方向为双向,则需要在内外端分别配置。

以内端机同步表配置为例,依次点击:数据库同步>同步表配置,右上角选择已关联的数据库,点击”+”,添加同步表。

图16 添加内端同步表

 

添加同步表配置:使用源schema和目的schema过滤,点击查询源表和查询目的表,查询成功后下拉选择需要同步的源表和目的表,同步配置勾选插入、修改、删除,保存配置。

图17 同步表配置

表4 同步表管理参数说明

参数

说明

内端表

自动查询内端表,并选择要同步的数据表

内端schema

根据数据库类型选择对应的schema约束限定为指定的数据库;Oracle/DB2/Sqlserver/DM/kingbase/postgresSQL/神通/highgo/sybase配置同步时,需要使用正确的schema

外端schema

根据数据库类型选择对应的schema约束限定为指定的数据库;Oracle/DB2/Sqlserver/DM/kingbase/postgresSQL/神通/highgo/sybase配置同步时,需要使用正确的schema

外端表

数据库关联后,自行查询外端表,并选择要同步的数据表

自定义列同步

一个表有很多列,指定一些列进行同步。

自定义列同步-自定义过滤策略

对一个列使用策略判断,满足过滤条件的所在整行数据不进行同步,不满足条件的数据进行同步

自定义条件同步

对一个列使用条件过滤,满足条件正常同步,不满足所在整行数据不进行同步(无日志记录)

同步条件

只有满足条件的数据操作才会同步

表冲突决策

主键检查决策:表示仅使用主键来检测冲突。如果存在具有相同主键的行,则在更新或删除期间不会检测到冲突。更新和删除行仅使用主键列进行解析。如果在插入期间已经存在行,则检测到冲突。

被改变的数据已更改数据检测):表示将使用主键加上源系统上已更改的任何数据来检测冲突。如果目标系统上存在与源系统上已更改列的旧值相同的行,则在更新或删除期间不会检测到冲突。如果在插入期间已经存在行,则检测到冲突。(如数据中包含主键,则会将定义的主键和已更改数据同时作为检测判断依据)。

旧值(旧数据值检测):表示所有旧数据值都用于检测冲突。旧数据是更改之前源系统上的行的数据值。如果目标系统上存在与源系统上相同的旧值的行,则在更新或删除期间不会检测到冲突。如果在插入期间已经存在行,则检测到冲突。(如数据中包含主键,则会将定义的主键和旧数据值同时作为检测判断依据)。

时间截(时间戳列检测):指示主键加上时间戳列“date”将指示是否发生冲突。如果目标时间戳列不等于旧的源时间戳列,则检测到冲突。如果在插入期间已经存在行,则检测到冲突。 您必须要指定时间戳的列的名称,如“date”。(如数据中包含主键,则会将定义的主键和时间戳列同时作为检测判断依据,时间类型:datedatetime)。

版本(版本列检测):表示主键加上版本列“version”将指示是否发生冲突。如果目标版本列不等于旧的源版本列,则检测到冲突。如果在插入期间已经存在行,则检测到冲突。 您必须要指版本号的列的名称,如“version”。(如数据中包含主键,则会将定义的主键和版本列同时作为检测判断依据,版本类型:intnumber)。

冲突列设置

内端机时间列:选择时间的列名(datedatetime

外端机时间列:选择时间的列名(datedatetime

内端机版本列:选择version的列名(intnumber

外端机版本列:选择version的列名(intnumber

表冲突决策机制

手动解决:当检测到冲突时,批处理将保持错误,直到发生手动干预。插入想要插入的值,或者选择忽略。

软件自主判断:表示当检测到冲突时,系统应自动应用更改。如果源操作是插入,则将尝试更新。如果源操作是更新并且该行不存在,则将尝试插入。如果源操作是删除并且该行不存在,则删除将被忽略。

忽略:表示当检测到冲突时,系统应自动忽略传入的更改。

比较:表示当检测到冲突时,源或目标将根据哪一方具有较新的“时间戳”或较高的“版本号”而获胜。(冲突决策“比较”机制只有选择时间戳时才可选择)。

图18 同步表添加成功

 

IMG_256

同步表仅配置内端,方向为内端到外端同步;

同步表仅配置外端,方向为外端到内端同步;

同步表配置两端,方向为双向同步;

同步表表名限制长度为64位;

注意数据库同步配置请按照:同步数据库配置-关联数据库-同步表配置的步骤进行配置。

数据库同步配置删除需要从我们的Web界面上的同步表配置往上删除完后才能删除数据库里的表,否则会破坏数据库同步环境。

数据库同步一旦配置好后不能对数据库侧进行同步表字段、表名、表结构、表空间等变更,不能手动删除两端数据库侧网闸创建的SYM开头的表项。

添加同步表为引用表或包含外键时,遵循引用表先增,先改,先删;被引用表后增,后改,后删的原则进行添加修改删除。

 

3.4.4  数据库配置前提

本典配以同步冲突检查机制在主键检测的情况下,进行软件自主判断以及手动解决、忽略的解决机制进行配置及验证。

同步表的主键用NAME进行判断。

3.4.5  表冲突解决机制-软件自主判断

在内外端机secrecy用户下,依次点击:数据库同步管理>停止关联数据,先确保数据库关联停止,再点击同步表配置>修改同步表配置>选择同步表,勾选需要修改的同步表配置,点击修改:

图19 停止关联成功

 

表冲突决策机制选择主键检查决策,表冲突解决机制选择软件自主判断。

图20 修改同步表

 

图21 修改成功

 

同步冲突检查机制在主键检测的情况下,进行软件自主判断的情况验证见“验证配置”章节的“主键检测软件自主判断”小节

 

3.4.6  表冲突解决机制-手动解决

在内端机secrecy用户下,依次点击:数据库同步管理>停止关联数据,先确保数据库关联停止,再点击同步表配置>修改同步表配置>选择同步表,勾选需要修改的同步表配置,点击修改:

图22 停止关联成功

 

表冲突决策机制选择主键检查决策,表冲突解决机制选择手动解决。

图23 修改同步表

 

 

 

图24 修改成功

 

同步冲突决策机制在主键检查决策的情况下,进行手动解决的情况验证见“验证配置”章节的“主键检测手动解决”小节

3.4.7  表冲突解决机制-忽略

在内端机secrecy用户下,依次点击:数据库同步管理>停止关联数据,先确保数据库关联停止,再点击同步表配置>修改同步表配置>选择同步表,勾选需要修改的同步表配置,点击修改:

图25 停止关联成功

 

表冲突决策机制选择主键检查决策,表冲突解决机制选择忽略。

图26 修改同步表

 

 

图27 修改成功

 

同步冲突决策机制在主键检测的情况下,进行忽略的情况验证见“验证配置”章节的“主键检测软件忽略”小节

 

3.5  验证配置

3.5.1  测试验证说明

测试之前确保H3C SecPath GAP2000内外端侧的网络是互通的,数据库同步配置没有问题。

向内端HOST1中插入多条数据后,点击运行:

 

图28 向内端数据库添加数据

图29 查看外端数据库数据

 

3.5.2  在外端数据库客户端,查看数据是否同步到目的表

等待约30s后,查看外端数据库数据是否同步。与内端数据库表一致,则说明同步成功。

图30 查看外端数据库表

由上图可知,同步成功。

 

3.5.3  主键检查决策软件自主判断

确认HOST1和HOST2库中的DBTAB表内容一致下进行验证。

图31 HOST1下的DBTAB表。

 

图32 HOST2下的DBTAB表

 

在HOST1下的DBTAB表中的“b”这条数据中的“11”改成“22”后,点击运行。

图33 更改数据

 

 

此时,HOST1下的DBTAB表已经存在了22这条数据,产生了冲突,由于配置中,我们对冲突解决机制选择了软件自主判断,则会根据目的端的主键为判断依据,将数据内容进行替换。

图34 同步成功

 

登录系统,进行日志查看。

图35 数据库同步日志

 

 

3.5.4  主键检测手动解决

确认HOST1和HOST2库中的DBTAB表内容一致下进行验证。

在HOST1下DBTAB表中新增一条数据,name为c的数据

图36 表新增成功

 

在HOST2下的DBTAB表中新增一条c为444的数据,点击运行。

图37 表新增成功

 

如下图40,登录系统查看冲突数据解决,新增一条冲突数据。如图41点击手动输入,手动解决冲突。

图38 冲突数据解决

图39 手动输入

 

结果验证

在HOST2下DBTAB表中数据name为c的数据,被同步修改

3.5.5  主键检查决策忽略

确认HOST1和HOST2库中的DBTAB表内容一致下进行验证。

图40 HOST1下的DBTAB表

图41 HOST2下的DBTAB表

在HOST1下的DBTAB表中新增一条冲突数据“d”这条数据后,点击运行。

图42 新增数据

如下图45,登录系统查看冲突数据解决,新增一条冲突数据。点击忽略冲突。

图43 冲突数据解决

 

图44 忽略冲突

 

此时,HOST2下的DBTAB表已经存在了d这条数据,产生了冲突,由于配置中,我们对冲突解决机制选择了忽略,则自动忽略传入的更改。

图45 忽略成功

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们