DM安装部署人大金仓KFS同步程序—DM单机作为源端时的安装部署
金仓数据库管理系统
目 录
DM数据库安装部署人大金仓KFS同步程序—DM单机作为源端时的安装部署 1
DM数据库安装部署人大金仓KFS同步程序—DM单机作为源端时的安装部署
关键字:
KingbaseFlysync、KFS、replicator、同步程序、服务端、flysync.ini、安装部署、达梦、DM、DM单机安装部署KingbaseFlysync、DM单机安装部署KFS、DM单机安装同步程序
一、概述
Kingbase FlySync 支持基于DM作为源端的数据同步 本文以下部分对基于DM作为源端时的部署过程进行阐述。。
二、安装前准备
前置条件:已经完成达梦数据库的安装部署
2.1 环境信息
参数名 | 参数值 |
源端数据库IP地址 | 10.10.3.200 |
安装KFS同步程序IP地址 | 10.10.3.200 |
DM数据库监听端口号 | 5236 |
可用内存 | >4GB |
可用储存空间 | >1GB+7*每日数据增量 |
2.2 端口开放
1、临时关闭防火墙服务(服务器重启后失效)
service firewalld stop
永久关闭防火墙服务
chkconfig firewalld off
2、若有特殊情况如业务要求需要开启防火墙,则需要保证KFS同步程序所需端口可用,若不可用,可以在后续配置中修改默认端口。
telnet xx.xx.xx.xx 端口号
Kingbase FlySync同步服务运行所需的默认端口如下:
端口 | 描述 |
11000/11001 | KFS远程管理/监控RMI端口 |
3112 | KUFL传输接口 |
2.3 创建KFS同步程序安装用户
假设KFS同步程序安装用户为fly,创建如下(本文设置fly用户密码为123):
adduser fly
passwd fly
2.4 ruby环境配置
上传ruby包到KFS同步程序安装服务器下并解压:
unzip rbenv_2.2.2_linux_x64.zip
然后在KFS同步程序安装用户的环境变量中进行配置
vi ~/.bash_profile
export RUBY_HOME=ruby绝对路径
export PATH=$RUBY_HOME/bin:$PATH
source ~/.bash_profile
2.5 安装包准备
准备需要安装的Kingbase FlySync同步程序安装包和license文件。
2.6 DM数据库准备
2.6.1 创建用于KFS同步的数据库用户并赋予相应的权限:
1、创建用于KFS同步的数据库用户
CREATE USER FLYSYNC IDENTIFIED BY password
2、用户授权
GRANT CONNECT, RESOURCE TO FLYSYNC;
GRANT DBA TO FLYSYNC;
如果不能够提供DBA权限,则需要赋予以下权限 :
GRANT CREATE TABLE TO FLYSYNC;
GRANT CREATE SCHEMA TO FLYSYNC;
GRANT SELECT ON V$LOGMNR_CONTENTS TO FLYSYNC;
GRANT SELECT ON V$ARCHIVED_LOG TO FLYSYNC;
GRANT SELECT ON V$RLOG TO FLYSYNC;
GRANT EXECUTE ON SYS.DBMS_LOGMNR TO FLYSYNC;
2.6.2 开启Logminer
验证 LOGMNR 包是否开启, 返回 1 则有
SELECT SF_CHECK_SYSTEM_PACKAGE('DBMS_LOGMNR');
--开启 LOGMNR
SP_CREATE_SYSTEM_PACKAGES(1,'DBMS_LOGMNR');
注意:必须开启此前置条件,开启 LOGMNR 包需要一定权限执行,如果没有权限联系 DBA 开启。
2.6.3 开启归档
1、修改dm.ini
ARCH_INI = 1
RLOG_APPEND_LOGIC = 1
2、修改dmarch.ini,添加如下参数(需要重启数据库)
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = E:\dmdbms\data\TEST\arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 10240
3. 确认归档已开启
Select arch_mode from v$database
三、安装执行
3.1 上传并解压KFS同步程序
tar –zxvf KingbaseFlysync-Vxxxxxxxxxxxxxx-replicator.tar.gz
3.2 配置flysync.ini
在$HOME目录下新建flysync.ini文件,示例如下:
[defaults]
install-directory = /home/flysync/replicator
profile-script = ~/.bash_profile
rmi-port = 11000
[m_dm_3117]
kufl-port = 3117
datasource-type = dm
role = master
replication-host = 10.10.3.200
replication-port = 5236
replication-user = SYSDBA
replication-password = SYSDBA
repl_mode = normal
property = replicator.store.kufl.fsyncOnFlush=false
property = replicator.privileged.master=false
property = replicator.store.kufl.dataSource=global
property = replicator.filter.replicate.do=FLYSYNC.*
svc-extractor-filters = replicate
master = localhost199
members = localhost199
dm-extractor-method = logminer
参数说明:
[defaults] | |
install-directory=/home/flynsync/kfs | 同步程序安装目录 |
profile-script=~/.bash_profile | |
rmi-port=11000 | rmi端口号,默认为11000 |
[m_dm_3117] | 服务名 |
role=master | 同步角色,源端为master,目标端为slave |
master=localhost199 | 源端服务的安装ip |
members=localhost199 | 本服务的安装ip |
kufl-port=3117 | KUFL端口号 |
replication-host=10.10.3.200 | 数据库ip |
replication-port=5236 | 数据库端口 |
replication-user=SYSDBA | 数据库用户名 |
replication-password=SYSDBA | 数据库用户密码 |
datasource-type=dm | 数据库类型 |
dm-extractor-method=logminer | 解析方式 |
property = replicator.filter.replicate.do=FLYSYNC.* | 表过滤 |
property=replicator.extractor.dbms.scnSegmentationThreshold=5000 | 是否保留DML |
svc-extractor-filters=replicate | 开启过滤器开关 |
注意:
replicator.extractor.dbms.tablePatterns为表过滤参数,格式为“模式名.表名”;
3.3 执行安装
执行解压目录/tools/下的fspm install
更新环境配置
source ~/.bash_profile
3.4 上传license文件
上传license文件至$HOME/kfs/目录
3.5 启动同步程序
replicator start
3.6 查看同步服务情况
fsrepctl services或fsrepctl status(state:online表示服务正常)
四、测试验证
在源端数据库执行以下SQL
CREATE TABLE FLYSYNC.TEST(id int, name varchar(50));
INSERT INTO FLYSYNC.TEST values(1, 'dawf');
执行kufl -service oracle11g_logminer list查看解析情况
KFS同步程序常见操作命令:
KFS同步程序的启停
replicator start
replicator stop
replicator restart
查看同步服务状态
fsrepctl services
fsrepctl -service 同步服务名 status
同步服务的启停
fsrepctl -service 同步服务名 online
fsrepctl -service 同步服务名 offline
重置KUFL
fsrepctl -service 同步服务名 reset –all –y