系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 环境
  • 一、DMHS的安装 (命令行)
    • 1、安装文件准备
    • 2、修改可执行文件后执行安装程序
  • 二、DM8数据库准备工作
    • 1、开启归档日志
    • 2、开启逻辑日志
    • 3、配置 DDL辅助表和触发器
    • 4、创建供DMHS软件连接数据库的用户
    • 5、准备测试模式、对象
  • 三、DMHS双向同步配置
    • 节点1 DMHS服务配置
    • 节点2 DMHS服务配置
  • 四、启动DMHS服务
    • 1、启动两端节点的DMHS管理服务
    • 2、在节点2的数据库上装载节点1数据库需要进行同步的对象数据
    • 3、启动两端节点的CPT采集模块,实现双向同步、单向同步
      • 1)节点1服务器执行,初始化远端exec和本地cpt字典
      • 2)节点2服务器执行,初始化远端exec和本地cpt字典
      • 3)节点1执行,启动本地cpt模块
      • 4)节点2执行,启动本地cpt模块
  • 五、检查同步效果
    • 1、数据简单对比
    • 2、在节点1数据库对模式OA11的对象进行DML操作
    • 3、在节点2数据库对模式OA12的对象进行DML操作
    • 4、DDL同步验证
    • 5、单向同步验证
      • 正向验证
      • 反向验证
  • 总结

前言

  某项目需要DM8数据库实现灾备,那么先在本地测试实现吧。本次模拟实验主要在本地两台虚拟机上,安装dm8数据库,并通过DMHS软件实现双向同步、单向同步,从而达到双活、灾备效果。(以下主要展开DMHS的安装和配置,dm8数据库的安装略过,可参考另一篇linux环境安装DM8的博文)

  达梦数据实时同步软件(以下简称 DMHS)是支持异构环境的高性能、高可靠、高可扩展数据库实时同步复制系统。基于成熟的关系数据模型和标准接口,支持多种软硬件平台,能够灵活的配置出一对一、一对多、多对一、多对多以及级联等多种形式的复制拓扑结构,可以广泛应用于应急系统、容灾备份、负载均衡、数据移植、联机维护、订阅分发、多业务中心等业务领域。(来自达梦云适配中心-DMHS产品介绍)

环境

本次模拟环境:
dm8_20210712_x86_rh6_64_ent_8.1.2.38_pack1.iso
dmhs_V4.2.60_dm8_rev106302_rh6_64_veri_20220225.bin
(DMHS软件安装包可以联系达梦获取试用版)

主机 软件
源端单节点1 192.168.19.11(x86 centos7,1核2GB虚拟机) dm8单机(已安装)dmhs_V4.2.60(待安装)
目的端节点2(灾备库) 192.168.19.12(x86 centos7,1核2GB虚拟机) dm8单机(已安装)dmhs_V4.2.60(待安装)

以下简称节点1,节点2

一、DMHS的安装 (命令行)

以下内容两个节点都需要执行

1、安装文件准备

通过工具上传DMHS安装包到虚拟机上,使用dmdba用户(在安装dm8数据库时按规范建立的系统用户,如果没有建议单独建立这一个用户用于达梦软件运行)进行安装。

2、修改可执行文件后执行安装程序

chmod +x dmhs_V4.2.60_dm8_rev106302_rh6_64_veri_20220225.bin
./dmhs_V4.2.60_dm8_rev106302_rh6_64_veri_20220225.bin -i


按照提示,选择对应安装项,因为配置需要,没有选择初始化DMHS配置,选择了统一部署时手动配置。

此处为web管理平台的相关安装项,本次模拟暂不用到,默认配置和服务手动启动即可,预留下次使用

至此DMHS安装完成,我们环境安装路径为/home/dmdba/hsdm,源端虚机和目的端虚机环境都需要安装

二、DM8数据库准备工作

接下来要对DM8单机数据库进行一些参数配置,以便DMHS软件分析逻辑日志进行数据同步(两个节点都需要执行以下步骤)。

1、开启归档日志

使用SYSDBA连接登录数据库执行以下语句开启归档日志。其中DEST为归档日志存放目录,需要提前创建好,FILE_SIZE为单个归档文件大小,SPACE_LIMIT为归档目录日志目录大小限制(达到限制大小后自动删除历史归档日志文件):

ALTER DATABASE MOUNT;
ALTER DATABASE ADD ARCHIVELOG 'TYPE = LOCAL,DEST = /dm/dmarch/HSDM,FILE_SIZE = 128,SPACE_LIMIT = 1024';
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
select para_value from v$dm_ini where para_name in ('ARCH_INI');

检查参数值,以及到归档配置目录下查看,归档日志已经配置成功。

2、开启逻辑日志

使用SYSDBA连接登录数据库执行以下语句:

SP_SET_PARA_VALUE(1,'RLOG_APPEND_LOGIC',1);
select para_value from v$dm_ini where para_name in ('RLOG_APPEND_LOGIC');


执行后检查参数值为1,确认逻辑日志已开启。

3、配置 DDL辅助表和触发器

使用SYSDBA连接登录数据库执行DMHS安装目录下script子目录的“ddl_sql_dm8.sql”脚本。(可以使用disql连接,使用"start /xx/xx.sql"直接执行该脚本,如果是使用DM管理工具连接的数据库,可以直接复制SQL脚本内容到查询框执行)

执行完成后,使用以下SQL语句查询辅助表是否创建成功

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

执行以下SQL语句查询触发器是否创建成功:

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

查询结果如下图,共9个辅助表,4个触发器。

4、创建供DMHS软件连接数据库的用户

使用SYSDBA连接数据库,执行以下语句创建用户(其中HSEXEC为用户名,双引号内为密码,这没有特别要求,只需要后面和配置文件对应上即可,需要注意授权该用户查询、写入其他用户的权限,这里为了方便直接给了DBA权限):

CREATE TABLESPACE HSEXEC DATAFILE 'HSEXEC.DBF' size 128;
CREATE USER HSEXEC IDENTIFIED by "111111111" DEFAULT TABLESPACE HSEXEC DEFAULT INDEX TABLESPACE HSEXEC;
GRANT VTI TO HSEXEC;
GRANT PUBLIC TO HSEXEC;
GRANT RESOURCE TO HSEXEC;
GRANT DBA TO HSEXEC;

5、准备测试模式、对象

(这里补充一下测试数据的来源,因为看到讨论里有人问到,当然如果自己准备有测试数据,那么这里是可以跳过的,在后面配置项根据自己的模式对象修改dmhs.hs里面的白名单和映射就可以了,测试用的模式、模式对象和数据其实在这次实验里是无关紧要的,你也可以用别的测试数据,只要我们最终验证同步成功就可以)
1、在达梦数据库软件安装目录dmdbms/tool目录下,有dbca(DM数据库配置助手),初始化实例的过程勾选示例库就会得到一份模拟测试数据(7个表对象和数据),后面第三大点结构图其实还用到一个T2022表,那其实是随手建的,随便写两个数据就可以了。

选择DMHR模式,右键导出成dmp文件,备用。

导入导出这里不再详细展开,可以参考这篇博文:

达梦数据库DM8-逻辑备份之导入导出

2、在节点1建立模式OA11,同时把DMHR模式的实例库数据导入,映射进来。(这里的节点1和节点2具体代表可以参考后面第三点的结构图,更清晰直观)

CREATE TABLESPACE OA11 DATAFILE 'OA11.DBF' size 128;
CREATE USER OA11 IDENTIFIED by "111111111" DEFAULT TABLESPACE OA11 DEFAULT INDEX TABLESPACE OA11;
GRANT VTI TO OA11;
GRANT PUBLIC TO OA11;
GRANT RESOURCE TO OA11;
GRANT DBA TO OA11;


3、在节点2建立模式OA12,OA13,不写入任何数据。

CREATE TABLESPACE OA12 DATAFILE 'OA12.DBF' size 128;
CREATE USER OA12 IDENTIFIED by "111111111" DEFAULT TABLESPACE OA12 DEFAULT INDEX TABLESPACE OA12;
GRANT VTI TO OA12;
GRANT PUBLIC TO OA12;
GRANT RESOURCE TO OA12;
GRANT DBA TO OA12;
CREATE TABLESPACE OA13 DATAFILE 'OA13.DBF' size 128;
CREATE USER OA13 IDENTIFIED by "111111111" DEFAULT TABLESPACE OA13 DEFAULT INDEX TABLESPACE OA13;
GRANT VTI TO OA13;
GRANT PUBLIC TO OA13;
GRANT RESOURCE TO OA13;
GRANT DBA TO OA13;

三、DMHS双向同步配置

以上准备工作完成后,可以开始DMHS的双向同步配置了。
首先我们先确定同步需求,本次模拟需求为某个项目下的需求简化而来:

节点1的DM8数据库存在模式OA11

节点2的DM8数据库存在模式OA12和OA13,暂时没有数据存放。
现在需要
1、把节点1 中OA11模式下的"DEPARTMENT"、“EMPLOYEE”、“JOB”、“JOB_HISTORY”、“LOCATION”、"REGION"表同步到节点2中OA12模式下,并实现实时双向同步,达到双活效果。
2、把节点1 中OA11模式下"T2022"表同步到节点2中OA13模式下,实时单向同步,达到灾备效果。

节点1 DMHS服务配置

进入到DMHS安装目录下bin子目录,通过修改示例服务脚本,准备当前节点的DMHS服务启动脚本

cd /home/dmdba/hsdm/bin
cp TemplateDmhsService DmhsService
vim DmhsService


在DMHS安装目录下的bin子目录,新建dmhs.hs配置文件

cd /home/dmdba/hsdm/bin
vim dmhs.hs

dmhs.hs配置文件部分内容解读:
其中base模块是本地DMHS管理服务相关配置,需要注意的是siteid必须为唯一,需要和节点2的配置区分开来;

cpt模块则是本地数据采集服务相关配置
1)我们需要采集的是节点1的DM8数据库,所以前部分填写相关连接信息

2)其中ddl_mask配置项是DDL 操作功能掩码,理论上我们双向需要同步所有的DDL操作,所以这里掩码我们配置了所有对象

3)其中send配置项,则是同步到目的端的投递信息配置,该标签是一个功能标签,需要进一步配置它的子项,其中包括目的端DMHS服务的连接信息,以及对象选择配置项filter(支持白名单enable和黑名单disable),本次模拟为指定对象同步,所以配置了白名单,且因为需要同步的目的端模式和本地源端模式名不一样,配置了map映射规则,按需求把指定对象映射到目的端指定模式下。

exec模块则是本地数据接收和执行服务相关配置,相对于节点2来说,本地是节点2的目的端,需要对节点2的DMHS服务cpt模块收集并发送来的数据,执行同步到本地节点1的DM8数据库,因此主要为连接本地节点1的数据库信息,以及执行工作进程的相关配置。其中exec_policy=2表示执行事务出错时,忽略出错的操作后继续执行;ddl_continue=1表示DDL操作同步出错时,继续往下操作。

详细配置项信息说明可以查阅DMHS服务安装目录下doc子目录中的《DMHS参考手册.pdf》

----以下为dmhs.hs配置文件具体内容----
<?xml version="1.0" encoding="GB2312" standalone="no"?>
<dmhs><base><lang>en</lang><mgr_port>5345</mgr_port><ckpt_interval>60</ckpt_interval><siteid>11</siteid><version>2.0</version></base><cpt><name>cpt1911</name><db_type>dm8</db_type><db_server>192.168.19.11</db_server><db_user>HSEXEC</db_user><db_ssl_path/><db_ssl_pwd/><db_pwd>111111111</db_pwd><char_code>PG_UTF8</char_code><db_port>5239</db_port><ddl_mask>op:TABLE:VIEW:PROCEDURE:FUNCTION:TRIGGER:INDEX:CHECK:SEQUENCE:TYPE:PACKAGE:SYNONYM</ddl_mask><parse_thr>1</parse_thr><arch><clear_flag>1</clear_flag><clear_interval>600</clear_interval></arch><send><ip>192.168.19.12</ip><mgr_port>5345</mgr_port><data_port>5346</data_port><trigger>1</trigger><constraint>1</constraint><identity>1</identity><net_turns>0</net_turns><filter><enable>
<item>OA11.CITY</item>
<item>OA11.DEPARTMENT</item>
<item>OA11.EMPLOYEE</item>
<item>OA11.JOB</item>
<item>OA11.JOB_HISTORY</item>
<item>OA11.LOCATION</item>
<item>OA11.REGION</item>
<item>OA11.T2022</item></enable></filter><map>
<item>OA11.CITY==OA12.CITY</item>
<item>OA11.DEPARTMENT==OA12.DEPARTMENT</item>
<item>OA11.EMPLOYEE==OA12.EMPLOYEE</item>
<item>OA11.JOB==OA12.JOB</item>
<item>OA11.JOB_HISTORY==OA12.JOB_HISTORY</item>
<item>OA11.LOCATION==OA12.LOCATION</item>
<item>OA11.REGION==OA12.REGION</item>
<item>OA11.T2022==OA13.T2022</item></map></send></cpt><exec><recv><mgr_port>5345</mgr_port><data_port>5346</data_port></recv><enable>1</enable><name>exec1911</name><db_type>DM8</db_type><db_server>192.168.19.11</db_server><db_user>HSEXEC</db_user><db_pwd>111111111</db_pwd><db_port>5239</db_port><exec_thr>1</exec_thr> <exec_sql>1024</exec_sql> <exec_trx> 5000 </exec_trx> <exec_rows>1000</exec_rows> <save_mask>EXEC</save_mask><exec_policy>2</exec_policy><ddl_continue>1</ddl_continue></exec>
</dmhs>

节点2 DMHS服务配置

其中DMHS服务启动脚本DmhsService的配置和节点1配置过程相似,这里不再演示。
需要关注的是节点2的dmhs.hs配置文件配置内容:
可以看到节点2的配置内容和节点1是类似的,只不过因为cpt模块的采集数据库连接信息和exec的数据库执行信息有差异,其中因为节点2只需要同步数据库中模式OA12的所有表到节点1数据库中的模式OA11,所以在map映射规则中直接使用了模糊匹配

----以下为dmhs.hs配置文件具体内容----
<?xml version="1.0" encoding="GB2312" standalone="no"?>
<dmhs><base><lang>en</lang><mgr_port>5345</mgr_port><ckpt_interval>60</ckpt_interval><siteid>12</siteid><version>2.0</version></base><cpt><name>cpt1912</name><db_type>dm8</db_type><db_server>192.168.19.12</db_server><db_user>HSEXEC</db_user><db_ssl_path/><db_ssl_pwd/><db_pwd>111111111</db_pwd><char_code>PG_UTF8</char_code><db_port>5239</db_port><ddl_mask>op:TABLE:VIEW:PROCEDURE:FUNCTION:TRIGGER:INDEX:CHECK:SEQUENCE:TYPE:PACKAGE:SYNONYM</ddl_mask><parse_thr>1</parse_thr><arch><clear_flag>1</clear_flag><clear_interval>600</clear_interval></arch><send><ip>192.168.19.11</ip><mgr_port>5345</mgr_port><data_port>5346</data_port><trigger>1</trigger><constraint>1</constraint><identity>1</identity><net_turns>0</net_turns><filter><enable>
<item>OA12.CITY</item>
<item>OA12.DEPARTMENT</item>
<item>OA12.EMPLOYEE</item>
<item>OA12.JOB</item>
<item>OA12.JOB_HISTORY</item>
<item>OA12.LOCATION</item>
<item>OA12.REGION</item></enable></filter><map><item>OA12.*==OA11.*</item></map></send></cpt><exec><recv><mgr_port>5345</mgr_port><data_port>5346</data_port></recv><enable>1</enable><name>exec1912</name><db_type>DM8</db_type><db_server>192.168.19.12</db_server><db_user>HSEXEC</db_user><db_pwd>111111111</db_pwd><db_port>5239</db_port><exec_thr>1</exec_thr> <exec_sql>1024</exec_sql> <exec_trx> 5000 </exec_trx> <exec_rows>1000</exec_rows> <save_mask>EXEC</save_mask><exec_policy>2</exec_policy><ddl_continue>1</ddl_continue></exec>
</dmhs>

四、启动DMHS服务

1、启动两端节点的DMHS管理服务

节点1,进入DMHS软件安装目录下bin子目录,执行配置好的服务脚本

cd /home/dmdba/hsdm/bin
./DmhsService start
ps -ef |grep dmhs

如图DMHS管理服务正常启动成功,可以使用ps命令查看到服务,且在hsdm/log底下的服务启动日志没有报错信息。(如果服务启动失败,或根据日志报错信息检查服务脚本中的配置,以及依赖环境配置,即“节点1 DMHS服务配置”章节中介绍的内容)

节点2同理,进入DMHS软件安装目录下bin子目录,执行配置好的服务脚本

cd /home/dmdba/hsdm/bin
./DmhsService start
ps -ef |grep dmhs

2、在节点2的数据库上装载节点1数据库需要进行同步的对象数据

双向同步是在两端数据保持一致的基础上进行的,当前节点2的数据库上模式OA12和模式OA13没有任何数据,需要先把节点1上的数据进行一次装载到节点2数据库上。
节点1数据库模式OA11数据:

节点2数据库模式OA12、OA13数据:

节点2服务器执行,进入DMHS软件安装目录bin子目录,使用dmhs_cosole工具连接DMHS管理服务,并启动节点2本地的exec模块:

cd /home/dmdba/hsdm/bin
./dmhs_cosole
DMHS> start exec


节点1服务器执行,进入DMHS软件安装目录bin子目录,使用dmhs_cosole工具连接DMHS管理服务,启动节点1本地的exec模块,并初始化本地采集服务cpt的字典,最后对节点2目的端数据库进行一次同步数据装载:(操作过程建议在两边节点服务器上,实时打印位于bin/log底下的dmhs_日期.log日志,以便随时发现错误)

cd /home/dmdba/hsdm/bin
./dmhs_cosole
DMHS> start exec
DMHS> clear exec lsn
DMHS> copy 0 "sch.name = 'OA11'" CLEAR|DICT
DMHS> copy 0 "sch.name = 'OA11'" drop|create|insert|nolock|fast

执行完成后,检查节点2数据库的模式OA12、OA13,数据已成功装载过来。

检查两边节点的日志,也没有发现错误提示。
节点1 DMHS日志

节点2 DMHS日志

3、启动两端节点的CPT采集模块,实现双向同步、单向同步

以下需要按顺序执行(操作过程建议在两边节点服务器上,实时打印位于bin/log底下的dmhs_日期.log日志,以便随时发现错误)

1)节点1服务器执行,初始化远端exec和本地cpt字典

进入DMHS软件安装目录bin子目录,使用dmhs_cosole工具连接DMHS管理服务,初始化目的端exec模块,初始化本地cpt采集模块的字典。

cd /home/dmdba/hsdm/bin
./dmhs_cosole
DMHS> clear exec lsn
DMHS> copy 0 "sch.name = 'OA11'" CLEAR|DICT

2)节点2服务器执行,初始化远端exec和本地cpt字典

进入DMHS软件安装目录bin子目录,使用dmhs_cosole工具连接DMHS管理服务,初始化目的端exec模块,初始化本地cpt采集模块的字典。

cd /home/dmdba/hsdm/bin
./dmhs_cosole
DMHS> clear exec lsn
DMHS> copy 0 "sch.name = 'OA12'" CLEAR|DICT

3)节点1执行,启动本地cpt模块

进入DMHS软件安装目录bin子目录,使用dmhs_cosole工具连接DMHS管理服务,初始化目的端exec模块,初始化本地cpt采集模块的字典。

DMHS> start cpt
DMHS> state

4)节点2执行,启动本地cpt模块

进入DMHS软件安装目录bin子目录,使用dmhs_cosole工具连接DMHS管理服务,初始化目的端exec模块,初始化本地cpt采集模块的字典。

DMHS> start cpt
DMHS> state


检查两端日志,没有发现任何报错提示:
节点1 DMHS日志

节点2 DMHS日志

五、检查同步效果

1、数据简单对比

节点1数据库模式OA11的对象数据行数统计

create table count_all_tables(tab_owner varchar(100),tab_name varchar(100),tab_count int);
declare
beginfor rec in (select owner,object_name from all_objects where owner in ('OA11')  and object_type='TABLE') loopbeginexecute immediate 'insert into count_all_tables select '''|| rec.owner ||''','''|| rec.object_name ||''',count(*) from '|| rec.owner || '."' || rec.object_name||'"';exception when others thendbms_output.put_line( rec.owner || '.' || rec.object_name || 'get count error');end;end loop;
end;
select tab_owner,tab_name,tab_count from count_all_tables where TAB_OWNER='OA11' order by 3 desc;


节点2数据库模式OA12、OA13的对象数据行数统计

create table count_all_tables(tab_owner varchar(100),tab_name varchar(100),tab_count int);
declare
beginfor rec in (select owner,object_name from all_objects where owner in ('OA13','OA12')  and object_type='TABLE') loopbeginexecute immediate 'insert into count_all_tables select '''|| rec.owner ||''','''|| rec.object_name ||''',count(*) from '|| rec.owner || '."' || rec.object_name||'"';exception when others thendbms_output.put_line( rec.owner || '.' || rec.object_name || 'get count error');end;end loop;
end;
select tab_owner,tab_name,tab_count from count_all_tables where TAB_OWNER in ('OA13','OA12') order by 3 desc;


两边数据一致

2、在节点1数据库对模式OA11的对象进行DML操作

节点1 update、insert操作执行前查询

节点1 update、insert操作执行后查询

节点1 update、insert操作执行后,节点2查询,可以看到节点1的修改已完全同步到节点2:

检查两端DMHS日志无错误提示
节点1 DMHS日志

节点2 DMHS日志

3、在节点2数据库对模式OA12的对象进行DML操作

节点2 delete 操作执行前查询

节点2 delete 操作执行后查询

节点2 delete 操作执行后,节点1查询,可以看到节点2的修改已完全同步到节点1:

4、DDL同步验证

节点1数据库执行drop后查询

节点1数据库执行drop后,节点2数据库查询,可以看到DDL操作也成功同步。

检查两端日志无报错提示
节点1 DMHS日志

节点2 DMHS日志

5、单向同步验证

本次模拟实验的需求中,需要把节点1数据库的模式OA11中T2022表,单向同步到节点2数据库的模式OA13中。在此验证这单向同步需求。

正向验证

节点1 update操作前,查询T2022表

节点1 update操作后,查询T2022表

节点1 update操作后,节点2查询T2022表,数据已成同步

反向验证

节点2 update操作前,查询T2022表

节点2 update操作后,查询T2022表

节点2 update操作后,节点1查询T2022表,可以看到数据没有同步,符合配置预期效果。

总结

  本次模拟实战中,双向同步、灾备效果符合预期,但是需要特别注意的是,在第一次装载节点1数据到节点2数据库之后到启动两端CPT模块的时间段内,必须保证节点1数据库不再有新数据写入,因为如果有新数据写入后,两端数据会出现差异,导致最后双向同步过程可能出现错误。   在实际生产环境中,如果真要实现双活和灾备,环境要求会比较高,需要考虑验证的因素也比较多,所以仅建议开启单向同步,避免操作不当、检验数据出现差异,开启单向同步仅需要开启源端CPT模块即可实现,灾备效果也能实现了。

手把手教你达梦数据实时同步软件 (DMHS)的安装和使用(附实战详细记录:本地模拟实现达梦数据库双活、灾备)相关推荐

  1. 达梦数据实时同步(DMHS)原理

    1 系统介绍 达梦数据实时同步软件(DMHS)是一个支持异构环境的高性能.高可靠.高可扩展是数据库实时同步复制系统.该系统基于成熟的关系数据库模型和标准接口,跨越多种软硬件平台实现秒级数据实时同步,可 ...

  2. 【达梦数据库】数据实时同步软件 + 数据对比工具

    文章目录 前言 一.数据实时同步软件 1.1 简单介绍 1.2 模块说明 二.数据对比工具 2.1 简单介绍 2.2 架构说明 三.DMETL vs DMHS 总结 前言 达梦数据实时同步软件(DMH ...

  3. 达梦DMHS异构数据库数据实时同步软件速知

    DMHS简介 DMHS(Heterogeneous database Synchronization for DM)是达梦数据库公司推出的一款异构数据库数据实时同步工具软件.同步源端支持ORACLE系 ...

  4. [达梦数据库]达梦数据实时同步DMHS新增同步表

    1 源端操作 1.1 修改dmhs.hs配置文件 [oracle@hnsia-exa02 ~]$ cd /ogg/dmhs2_59903/ #备份配置文件 [oracle@hnsia-exa02 dm ...

  5. 达梦数据库使用心得达梦数据同步软件DMHS

    达梦数据库使用心得&达梦数据同步软件DMHS 文章目录 达梦数据库使用心得&达梦数据同步软件DMHS 一.前言 二.达梦数据库安装 步骤 1:运行安装程序 步骤 2:语言与时区选择 步 ...

  6. Nature综述:手把手教你分析菌群数据

    本文转载自"热心肠先生",己获授权. 导读 自然微生物综述(2017 IF:31.851)于2018年5月23日在线发表了Rob Knight亲自撰写(一作兼通讯)的微生物组领域研 ...

  7. binlog流程 mysql_小米 MySQL 数据实时同步到大数据数仓的架构与实践

    背景MySQL由于自身简单.高效.可靠的特点,成为小米内部使用最广泛的数据库,但是当数据量达到千万/亿级别的时候,MySQL的相关操作会变的非常迟缓:如果这时还有实时BI展示的需求,对于mysql来说 ...

  8. Linux下Rsync+Inotify-tools实现数据实时同步

    说明: 操作系统:CentOS 5.X 源服务器:192.168.21.129 目标服务器:192.168.21.127,192.168.21.128 目的:把源服务器上/home/www.osyun ...

  9. rsync与inotify实现数据实时同步

    Rsync与Inotify 单一的rsync只可以进行数据同步,单一的inotify只可以实时监控文件,两者结合使用刚好满足数据实时同步的需求,下面就用一个数据发布服务器和两个web服务器实例解析rs ...

最新文章

  1. Windows10 + VS2015 (Win SDK10)环境下的64位 VTK编译小结
  2. 自动注册 IIS6 的 MIME 类型
  3. 浪度九州城首页到内容页
  4. 【网页前端设计Front end】JavaScript教程.下(看不懂你来打我)
  5. Acey.ExcelX组件如何保证稳定性?
  6. pca降维的基本思想_R语言进行PCA分析
  7. 工作队列 ( workqueue )
  8. IEEE写作模板获取
  9. 2021-5-record everthing
  10. 【转载】Typora标题增加序号
  11. 介绍一种AI的抠图方法
  12. 幻方解法之Strachey法生成双偶幻方
  13. idea run with coverage异常
  14. BZOJ3894:文理分科
  15. Java作业(2020 12 05)
  16. ZOJ 3960 What Kind of Friends Are You?(读题+思维)
  17. 那些著名网站的90年代(转)
  18. matlab程序窗口是乱码,解决matlab中文乱码
  19. 糖果云发布光速搜索引擎,上传自己的内容后可体验光速搜索
  20. 科技向善,AI 助力老人听见天籁

热门文章

  1. CGLIB中BeanCopier源码实现
  2. Win10开发之UWP控件的隐藏空间
  3. python写入txt不覆盖_写入现有文件而不覆盖/擦除
  4. 【漫画】推荐功能强大的黑科技神器
  5. hsf端口_HSF 服务
  6. java android程序代码_用java 代码读取android应用的一些基本信息
  7. python中进程间通信方式总结
  8. 关于PS批处理存储JPG时总是要选JPG质量的问题,如何解决
  9. javaWeb在线考试系统
  10. 最全surface pro7网络热点设置