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

H3C SecPath GAP2000系列安全隔离与信息交换系统 典型配置(E6005 E6006 E6008)-5W114

03-数据库同步配置举例

本章节下载 03-数据库同步配置举例  (1.05 MB)

03-数据库同步配置举例


1  数据库同步介绍

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

2  配置前提

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

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

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

3  配置指导

3.1  测试准备

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

3.2  组网需求

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

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

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

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

0304-数据库、文件同步配置举例

 

3.3  使用版本

3.3.1  网闸版本

该配置指导是H3C SecPath GAP2000设备E6008P04版本,且需要License开启数据库同步功能。

3.3.2  支持的数据库版本

mysql5.0.2/mysql 5.5.60/ mysql8.0

Oracle 11g、12C(CDB)版本

DB2  9.7/DB2 v11.1.2022.1393

SQL server2005/SQL seerver2008R2

Kingbase V8R3以上

Gbase8

postgreSQL 10

3.4  配置步骤

3.4.1  连通性配置

1. 组网环境配置

配置HOST1、HOST2、管理PC、SW互联口,在HOST2上配置184.0.0.0/24网段到113.1.1.0/24网段的路由,下一跳地址184.0.0.1。

2. GAP2000设备上的网络配置

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

图2 配置内端SLOT0/0地址

图3 配置外端SLOT0/0地址

 

在网闸外端机配置从113.1.1.0/24网段到184.0.0.0/24网段的路由。

图4 配置外端机路由

 

3.4.2  配置oracle Server数据库

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

1. 安装oracle 11g

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

2. 同步用户配置

在内外端使用sysdba用户登录oracle数据库,新建同步用户,例如test,并且赋予以下权限:

CREATE USER test IDENTIFIED BY test;

GRANT CONNECT,RESOURCE,DBA TO test;

SET AUTOCOMMIT ON;

图5 新建同步用户

 

3. 同步数据库表配置

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

CREATE TABLE test

(

  id int,

  name varchar(32)

);

图6 创建同步表

 

3.4.3  数据库同步配置

1. 同步数据库配置

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

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

图7 添加内端同步数据库

 

表1 数据库同步参数说明

参数

说明

描述

填写该配置描述信息

数据库类型

选择配置数据库

可选择:Mysql类型,Oracle类型,Db2类型,Sqlserver类型、KingBase类型、GBase类型、PostgreSQL类型

数据库地址

使用的数据库地址

数据库端口

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

数据库名称

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

数据库用户名

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

数据库用户密码

使用的用户密码

Jdbc参数

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

大字段病毒检测

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

 

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

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

图8 测试连接

 

测试成功后,点击保存。

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

 

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

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

图10 添加外端同步数据库

 

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

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

图11 测试连接

 

测试成功后,点击保存。

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

 

2. 关联数据库

在secrecy用户下,依次点击:数据库同步>关联数据库>点击”+”,添加关联数据库。勾选内外端数据库,并填写关联名称,点击保存;默认同步方式为增量同步。

图13 关联数据库配置

查看关联的数据库

图14 关联的数据库成功

1704353012298

表2 关联数据库参数说明

参数

说明

关联名称

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

同步方式

增量同步:同步更新数据

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

同步开始时间

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

同步结束时间

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

内端数据库

内端创建的数据库配置

外端数据库

外端创建的数据库配置

 

3. 同步表配置

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

图15 添加同步表配置

 

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

图16 同步表配置

表3 同步表管理参数说明

参数

说明

内端schema

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

内端表

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

外端schema

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

外端表

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

自定义列同步

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

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

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

自定义条件同步

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

同步条件

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

表冲突决策

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

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

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

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

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

表冲突决策机制

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

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

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

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

 

 

 

 

图17 同步表添加成功

 

IMG_256

自定义列同步,两个数据表选择的列长度和列类型需要保持一致;

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

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

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

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

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

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

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

E6006P03版本新增数据库同步冲突检查机制,可选配置;E6006P05版本默认数据库同步使用冲突检查机制,必选配置。

 

3.4.4  数据库配置前提

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

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

      配置HOST1表id为主键。

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

配置HOST2表id为主键。

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

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

图18 停止关联成功

 

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

图19 修改同步表

 

图20 修改成功

 

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

 

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

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

图21 停止关联成功

 

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

图22 修改同步表

 

图23 修改成功

 

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

3.4.7  表冲突解决机制-忽略

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

图24 停止关联成功

 

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

图25 修改同步表

 

图26 修改成功

 

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

 

3.5  验证配置

3.5.1  测试验证说明

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

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

insert into TEST values(1,'abc','19');

insert into TEST values(2,'def','19');

insert into TEST values(3,'ghi','19');

insert into TEST values(4,'jkl','19');

 

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

 

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

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

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

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

在HOST1下的TEST表中的“4”这条数据中的“jkl”改成“ceshi”后,点击运行。

使用查询命令查看TEST表中“4”这条数据改成了“ceshi”,则说明修改成功。

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

登录网闸,进行日志查看。

图28 数据库同步日志

 

 

3.5.4  主键检测手动解决

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

在HOST2下TEST表中新增一条数据,id为5的数据

查询id为5的数据,显示id为5的数据,则新增成功。

 

HOST2 TEST表中有id为5的数据情况下,再到HOST1 TEST表中插入一条id为5的数据(目的端插入一条源端已存在的id相同的数据就会产生冲突),点击运行,等待数据传输,在到网闸上查看冲突数据解决下是否有主键的冲突

 

冲突手动解决

图29 冲突数据解决

图30 手动输入

 

结果验证

在HOST2下TEST表中数据id为5的数据,被同步修改

3.5.5  主键检查决策忽略

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

使用查询命令查询HOST1和HOST2库内容一致。

 

在HOST1下的TEST表中的“4”这条数据中的“ceshi”改成“666”后,点击运行。

冲突数据选择忽略。

使用查询命令查看HOST1下的TEST表中的“4”这条数据改成“666”了,则说明修改成功。

 

如下图,登录系统查看冲突数据解决,由于选择忽略冲突,冲突数据解决下无数据。

图31 冲突数据解决

 

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

 

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

新华三官网
联系我们