关键字:
KingbaseFlysync、KFS、replicator、同步程序、服务端、flysync.ini、安装部署、Oracle单机、Oracle单机安装部署KingbaseFlysync、Oracle单机安装部署KFS、Oracle单机安装同步程序、Logminer
一、概述
Kingbase FlySync支持基于Oracle作为源端的数据同步。KingbaseFlySync现支持基于Oracle作为源端的有2种解析方式,分别为:
(1)redo–直接解析redo日志的方式进行数据解析–对源端性能影响较小–KingbaseFlySync可以控制解析的位置和速度,便于断点续传–解析效率高。
(2)Logminer–基于解析在线日志的形式,由Logminer做日志解析–对源端性能影响较小–KingbaseFlySync可以控制解析的位置和速度,便于断点续传;
本文主要介绍Redo解析方式的Oracle单机KFS源端配置。
二、安装前准备
前置条件:已经完成Oracle数据库的安装部署
2.1 环境信息
参数名 |
参数值 |
源端数据库IP地址 |
10.10.5.49 |
安装KFS同步程序IP地址 |
10.10.5.49 |
Oracle数据名 |
ORCL |
Oracle数据库监听端口号 |
1521 |
可用内存 |
>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 Oracle数据库准备
2.6.1 创建用于KFS同步的数据库用户并赋予相应的权限:
1、创建用于KFS同步的数据库用户
CREATE USER FLYSYNC IDENTIFIED BY password
2、用户授权
GRANT CONNECT, RESOURCE TO FLYSYNC;
GRANT DBA TO FLYSYNC;
如果不能够提供DBA权限,则需要赋予以下权限 :
GRANT CONNECT TO FLYSYNC;
GRANT CREATE SESSION TO FLYSYNC;
GRANT UNLIMITED TABLESPACE TO FLYSYNC;
GRANT CREATE TABLE TO FLYSYNC;
GRANT CREATE MINING MODEL TO FLYSYNC;
GRANT LOGMINING TO FLYSYNC;
GRANT EXECUTE ON DBMS_FLASHBACK TO FLYSYNC;
GRANT EXECUTE ON DBMS_LOGMNR TO FLYSYNC;
GRANT EXECUTE ON DBMS_LOGMNR_D TO FLYSYNC;
GRANT EXECUTE ON SYS.DBMS_LOGMNR TO FLYSYNC;
GRANT EXECUTE ON SYS.DBMS_LOGMNR_D TO FLYSYNC;
GRANT EXECUTE ON SYS.DBMS_LOGMNR_INTERNAL TO FLYSYNC;
GRANT EXECUTE ON SYS.DBMS_LOGMNR_LOGREP_DICT TO FLYSYNC;
GRANT EXECUTE ON SYS.DBMS_LOGMNR_SESSION TO FLYSYNC;
GRANT EXECUTE_CATALOG_ROLE TO FLYSYNC;
GRANT SELECT ANY DICTIONARY TO FLYSYNC;
GRANT SELECT ANY TABLE TO FLYSYNC;
GRANT SELECT ANY TRANSACTION TO FLYSYNC;
GRANT SELECT ON SYS.V_$ARCHIVED_LOG TO FLYSYNC;
GRANT SELECT ON SYS.V_$DATABASE TO FLYSYNC;
GRANT SELECT ON SYS.V_$LOGMNR_CONTENTS TO FLYSYNC;
GRANT SELECT ON V_$ARCHIVED_LOG TO FLYSYNC;
GRANT SELECT ON V_$DATABASE TO FLYSYNC;
GRANT SELECT ON V_$LOG TO FLYSYNC;
GRANT SELECT ON V_$LOGFILE TO FLYSYNC;
GRANT SELECT ON V_$LOGMNR_CONTENTS TO FLYSYNC;
GRANT SELECT ON V_$LOGMNR_DICTIONARY TO FLYSYNC;
GRANT SELECT ON V_$LOGMNR_LOGS TO FLYSYNC;
GRANT SELECT ON V_$LOGMNR_PARAMETERS TO FLYSYNC;
GRANT SELECT ON V_$PARAMETER TO FLYSYNC;
2.6.2 安装Logminer
如果没有安装Logminer需要在sqlplus中执行下面的语句(均需要用sys管理员执行),工具命令如下:
@$ORACLE_HOME/RDBMS/ADMIN/dbmslm.sql
@$ORACLE_HOME/RDBMS/ADMIN/dbmslmd.sql
@$ORACLE_HOME/RDBMS/ADMIN/dbmslms.sql
注意:以上三个SQL脚本,如果在安装的Oralce数据库相应的目录中有则必须执行;如果没有则可忽略。
2.6.2 开启Oracle数据库的归档日志
1、检查是否归档已经开启
SQL>select log_mode from v$database;
2、开启归档(需要重启数据库)
SQL>shutdown immediate;