Stand-alone database DMHS data synchronization construction (DM-->DM)

1. Introduction to DMHS

Insert picture description here
Insert picture description here

2. Environmental description

IP port Remarks
Source 192.168.189.145 5236 cpt
Target end 192.168.189.150 5236 exec

Three, Dameng database installation

[dmdba@DM8 dmsoft]$ ./DMInstall.bin -i
请选择安装语言(C/c:中文 E/e:英文) [C/c]:
解压安装程序......... 
欢迎使用达梦数据库安装程序

是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]:n

是否设置时区? (Y/y:是 N/n:否) [Y/y]:y
设置时区:
[ 1]: GTM-12=日界线西
[ 2]: GTM-11=萨摩亚群岛
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋时间(美国和加拿大)
[ 6]: GTM-07=亚利桑那
[ 7]: GTM-06=中部时间(美国和加拿大)
[ 8]: GTM-05=东部部时间(美国和加拿大)
[ 9]: GTM-04=大西洋时间(美国和加拿大)
[10]: GTM-03=巴西利亚
[11]: GTM-02=中大西洋
[12]: GTM-01=亚速尔群岛
[13]: GTM=格林威治标准时间
[14]: GTM+01=萨拉热窝
[15]: GTM+02=开罗
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=伊斯兰堡
[19]: GTM+06=达卡
[20]: GTM+07=曼谷,河内
[21]: GTM+08=中国标准时间
[22]: GTM+09=汉城
[23]: GTM+10=关岛
[24]: GTM+11=所罗门群岛
[25]: GTM+12=斐济
[26]: GTM+13=努库阿勒法
[27]: GTM+14=基里巴斯
请选择设置时区 [21]:

安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]:
所需空间: 1071M

请选择安装目录 [/data/dm8]:
可用空间: 42G
是否确认安装路径(/data/dm8)? (Y/y:是 N/n:否)  [Y/y]:

安装前小结
安装位置: /data/dm8
所需空间: 1071M
可用空间: 42G
版本信息: 
有效日期: 
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):
是否确认安装? (Y/y:是 N/n:否):y
2020-11-03 18:00:56 
[INFO] 安装达梦数据库...
2020-11-03 18:00:57 
[INFO] 安装 基础 模块...
2020-11-03 18:01:00 
[INFO] 安装 服务器 模块...
2020-11-03 18:01:00 
[INFO] 安装 客户端 模块...
2020-11-03 18:01:01 
[INFO] 安装 驱动 模块...
2020-11-03 18:01:02 
[INFO] 安装 手册 模块...
2020-11-03 18:01:02 
[INFO] 安装 服务 模块...
2020-11-03 18:01:03 
[INFO] 移动ant日志文件。
2020-11-03 18:01:03 
[INFO] 安装达梦数据库完成。

请以root系统用户执行命令:
/data/dm8/script/root/root_installer.sh

安装结束

[root@DM8 dmsoft]# /data/dm8/script/root/root_installer.sh
移动 /data/dm8/bin/dm_svc.conf 到/etc目录
修改服务器权限
创建DmAPService服务
动DmAPService服务
DmAPService (pid 6109) is running

进行数据库初始化
[dmdba@DM8 bin]$ ./dminit PATH=/data/dmdata PAGE_SIZE=32 EXTENT_SIZE=32 CHARSET=1
initdb V8
db version: 0x7000b
file dm.key not found, use default license!
License will expire on 2021-09-04

 log file path: /data/dmdata/DAMENG/DAMENG01.log


 log file path: /data/dmdata/DAMENG/DAMENG02.log

write to dir [/data/dmdata/DAMENG].
create dm database success. 2020-11-03 18:08:31

 ./dmserver /data/dmdata/DAMENG/dm.ini 
file dm.key not found, use default license!
version info: develop
Use normal os_malloc instead of HugeTLB
Use normal os_malloc instead of HugeTLB
DM Database Server x64 V8 1-1-126-20.09.04-126608-ENT  startup...
Database mode = 0, oguid = 0
License will expire on 2021-09-04
file lsn: 0
ndct db load finished
ndct fill fast pool finished
iid page's trxid[1002]
NEXT TRX ID = 1003
pseg_collect_mgr_items, total collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages, 0 mgr pages, 0 mgr recs!
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...
pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
pseg_crash_trx_rollback end
pseg recv finished
nsvr_startup end.
aud sys init success.
aud rt sys init success.
trx: 2526 purged 1 pages
systables desc init success.
ndct_db_load_info success.
nsvr_process_before_open begin.
nsvr_process_before_open success.
total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...
pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
pseg_crash_trx_rollback end
SYSTEM IS READY.
注:主库和源库都需要安装数据库软件并初始化实例

Four, DMHS software installation

[root@DM8 soft]# ./dmhs_V3.1.3_dm8_rev95241_rh6_64_veri_20201119.bin -i
Extract install files......... 

1.英文(English)
2.简体中文(简体中文)
请选择安装语言[2.简体中文(简体中文)]:
/tmp/DMHSInstall/install.log
1.免费试用达梦数据实时同步
2.使用已申请的Key文件
验证许可证文件[1.免费试用达梦数据实时同步]:
1.精简版
2.完整版(web客户端)
3.自定义
安装类型[1.精简版]:2
1.实时同步软件服务器
2.远程部署工具
3.实时同步软件客户端
4.内置数据库
5.实时同步软件配置助手
6.手册
所需磁盘空间:828 MB
安装目录: [/opt/dmhs] 
1.统一部署
2.现在初始化
是否初始化达梦数据实时同步系统[1.统一部署]:
正在安装
default start ...    default finished.
server start ...    server finished.
hs_agent start ...    hs_agent finished.
webmanager start ...    webmanager finished.
db start ...    db finished.
hsca start ...    hsca finished.
doc start ...    doc finished.
doc start ...    doc finished.
postinstall start ...    postinstall finished.
正在创建快捷方式
安装成功
远程部署工具配置
远程部署工具名称[HsAgent]:
主机Ip(外网)[192.168.179.145](192.168.179.145,192.168.189.145):
远程部署工具管理端口[5456](1000-65535):
内置数据库轮询间隔[3](1-60):
内置数据库IP[192.168.179.145]:
内置数据库端口[15236]:
内置数据库用户名[SYSDBA]:
内置数据库密码[SYSDBA]:
内置数据库服务
1.自动
2.手动
启动方式:[2.手动]
正在创建内置数据库服务
初始化内置数据库
远程控制服务
1.自动
2.手动
启动方式:[2.手动]
正在创建远程控制服务
web服务
1.自动
2.手动
启动方式:[2.手动]
正在创建web服务
达梦数据实时同步 V4.0 安装完成
更多安装信息,请查看安装日志文件:
/opt/dmhs/log/install.log
如果内存过小在初始化内置数据库的时候会报错

注:源库和目标库都需要安装DMHS软件

Five, modify the database parameters

配置源端和目标端dm.ini
ARCH_INI = 1
RLOG_APPEND_LOGIC = 1 
FAST_COMMIT = 0(若不为0,则可能导致逻辑日志不全,而影响同步效果,DM8默认为0) 

Six, configure the source database archive mode

[root@DM8 bin]# cat /home/dmdba/dmdata/DAMENG/dmarch.ini 
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dmdba/dmarch #归档目录
ARCH_FILE_SIZE = 128 #归档文件大小,单位 MB
ARCH_SPACE_LIMIT = 0 #空间大小限制,0 表示不限制

Seven, check whether the relevant configuration takes effect

SELECT ARCH_DEST, ARCH_FILE_SIZE FROM SYS.V$DM_ARCH_INI WHERE ARCH_TYPE='LOCAL' AND ARCH_IS_VALID='Y';

SELECT PARA_VALUE FROM SYS.V$DM_INI WHERE PARA_NAME = 'RLOG_APPEND_LOGIC';

select para_value from v$dm_ini where para_name = 'FAST_COMMIT'; 

Eight, configure DDL synchronization

Execute the script in the dmhs installation directoryExecute the script in the dmhs installation directory

检查是否执行成功
select owner, table_name from dba_tables where owner = 'SYSDBA' and table_name like 'DMHS%' and status = 'VALID';
select owner, trigger_name from dba_triggers where owner = 'SYSDBA' and trigger_name like 'DMHS%' and status = 'Y';

Nine, configure the dmhs.hs file

源端配置:
<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port>
<ckpt_interval>60</ckpt_interval>
<siteid>1</siteid>#全局唯一,不能有重复值
</base>
<cpt>
<db_type>dm8</db_type>
<db_server>192.168.189.145</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port>5236</db_port>
<parse_thr>1</parse_thr>
<ddl_mask>op:obj</ddl_mask> <!--DDL配置项-->#若不需要同步DDL操作,则为空
<arch><!--归档清理配置项-->
<clear_interval>600</clear_interval>
<clear_flag>0</clear_flag>#清理归档设置,为1表示清除,即将同步完成的归档文件删除;为2,表示将同步完成的归档文件移到bak_dir目录下;为0,表示不做任何操作。
<bak_dir>/dmarch/arch_bak</bak_dir>
</arch>
<send><!-- 发送模块配置-->
<ip>192.168.189.150</ip>
<mgr_port>5345</mgr_port>
<data_port>5346</data_port>
<trigger>1</trigger><!-- 是否忽略触发器,默认为0,限定值0,1 -->
<constraint>1</constraint><!-- 是否忽略约束,默认为0,限定值0,1 -->
<identity>1</identity>
<filter><!--过滤配置项-->#过滤规则,先判断白名单,再判断黑名单,存在重叠的,都会被过滤。
<enable><!-- 白名单,所有允许同步的表 -->
<item>SYSDBA.*</item>
</enable>
</filter>
<map><!--映射配置项-->

</map>
</send>
</cpt>
</dmhs>

目标端配置
<?xml version="1.0" encoding="GB2312"?>
<dmhs>
<base>
<lang>ch</lang>
<mgr_port>5345</mgr_port>
<ckpt_interval>60</ckpt_interval>
<siteid>2</siteid>
<version>2.0</version>
</base>
<exec>
<recv>
<data_port>5346</data_port>
</recv>
<db_type>dm8</db_type>
<db_server>192.168.189.150</db_server>
<db_user>SYSDBA</db_user>
<db_pwd>SYSDBA</db_pwd>
<db_port>5236</db_port>
<db_name></db_name>
<exec_thr>4</exec_thr>
<exec_sql>1024</exec_sql>
<exec_trx> 5000 </exec_trx>
<exec_rows>1000</exec_rows>
</exec>
</dmhs>

10. Start DMHS program and load data

The source starts the dmhs program./dmhs_server
Insert picture description here

Connect through the management console, and then load the data.
Insert picture description here
Note: Note that the command format should
be correct , preferably uppercase; while operating on the source side, the front-end startup will print the corresponding log
Insert picture description here
target , whether it is correct or incorrect. Start application
Insert picture description here

Source query data:
Insert picture description here

Target query data
Insert picture description here

11. Start data real-time synchronization

Insert picture description here
Insert picture description here

12. Check data synchronization

After re-inserting a piece of data at the source and querying:
Insert picture description here
query data at the target:
Insert picture description here

Guess you like

Origin blog.csdn.net/beatlove123/article/details/113107472