Oracle安装部署金仓KFS同步程序--oracle DG作为源端时的安装部署—redo方式解析

70 阅读5分钟

关键字:

KingbaseFlysync、KFS、replicator、同步程序、服务端、flysync.ini、安装部署、金仓数据库、oracle DG oracle DG安装部署KingbaseFlysync oracle DG安装部署KFS、oracle DG安装同步程序 , redo

概述

Kingbase FlySync支持基于Oracle DG作为源端的数据同步。Oracle DG备机由于不能open,所以Kingbase FlySync不支持做为源端,Oracle DG做为源端的只能是Oracle DG主机。KingbaseFlySync现支持基于Oracle DG主机作为源端的有2种解析方式,分别为:

(1) redo–直接解析redo日志的方式进行数据解析–对源端性能影响较小–KingbaseFlySync可以控制解析的位置和速度,便于断点续传–解析效率高。

(2) Logminer–基于解析在线日志的形式,由Logminer做日志解析–对源端性能影响较小–KingbaseFlySync可以控制解析的位置和速度,便于断点续传;

Oracle DG主机作为源端,和oracle单机的配置基本一样,连接oracle的IP地址填写为 Oracle DG主机IP就行。

本文主要介绍Oracle DG作为源端Redo解析方式的KFS配置。

二、安装前准备

前置条件:已经完成Oracle DG数据库的安装部署

2.1 环境信息

参数名参数
源端数据库oracle DG主机地址10.10.3.185
安装KFS同步程序IP地址10.10.3.188
Oracle侦听服务名ORCL
Oracle数据库监听端口号1521
可用内存>4GB
可用储存空间>1GB+7*每日数据增量

2.2 ****端口 开放

1、关闭防火墙

1).停止防火墙

s ervice firewalld stop

2).关闭防火墙开启自启动

c hkconfig firewalld off

 

2、若有特殊情况如业务要求需要开启防火墙,则需要保证KFS同步程序所需端口可用,若不可用,可以在后续配置中修改默认端口。

telnet xx.xx.xx.xx 端口号

Kingbase FlySync同步服务运行所需的默认端口如下:

端口描述
11000/11001KFS远程管理/监控RMI端口
3112KUFL传输接口

2. 3 创建KFS同步程序安装用户

假设KFS同步程序安装用户为fly,创建如下(本文设置flysync用户密码为123):

adduser flysync

passwd flysync

2. 4 ruby环境配置

上传ruby包到KFS同步程序安装服务器下并解压,ruby版本必须为2.2.2版本:

unzip rbenv_2.2.2_linux_x64.zip

图片.png

然后在KFS同步程序安装用户的环境变量中进行配置

vi ****~ /.ba sh_profile

export RUBY_HOME=ruby 绝对 路径

export PATH=RUBYHOME/bin:RUBY_HOME/bin:PATH

source ~/.bash_profile

2 . 5 ****jdk 环境 配置

上传jdk包到KFS同步程序安装服务器下并解压,jdk的版本必须为1.8版本:

unzip jdk-8u381-linux-x64.tar.gz

然后在KFS同步程序安装用户的环境变量中进行配置

vi ****~ /.ba sh_profile

export JAVA_HOME=jdk 绝对 路径

export PATH=JAVAHOME/bin:JAVA_HOME/bin:PATH

source ~/.bash_profile

2.6安装包准备

准备需要安装的Kingbase FlySync同步程序安装包和license文件。

2 . 7 O racle DG数据库准备

2.7.1 创建用于KFS同步的数据库 用户并赋予相应的权限:

在Oracle DG主机上创建用户并授权。

1、创建用于KFS同步的数据库用户

CREATE USER FLYSYNC IDENTIFIED BY password

2、用户授权

GRANT CONNECT, RESOURCE TO FLYSYNC;

GRANT EXECUTE_CATALOG_ROLE TO FLYSYNC;

GRANT CREATE SESSION TO FLYSYNC;

GRANT SELECT ANY TRANSACTION TO FLYSYNC;

GRANT SELECT ANY TABLE TO FLYSYNC;

GRANT UNLIMITED TABLESPACE 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 EXECUTE_CATALOG_ROLE TO FLYSYNC;

GRANT SELECT ANY DICTIONARY TO FLYSYNC;

GRANT SELECT ON V_$PARAMETER TO FLYSYNC;

2.7. 2 ****开启 Oracle数据库的归档日志

在Oracle DG主机上开启归档。

SQL>select log_mode from v$database;

图片.png

2、开启归档(需要重启数据库)

SQL>shutdown immediate;

图片.png

SQL>startup mount

图片.png

SQL>alter database archivelog;

图片.png

SQL>alter database open;

图片.png

3、再次查看数据库归档情况

SQL>select log_mode from v$database;

图片.png

2.7.3 开启补全日志

在Oracle DG主机上开启补全日志

1、检查补全日志的状态

SQL>SELECT supplemental_log_data_min, supplemental_log_data_pk, supplemental_log_data_all FROM v$database;

图片.png

2、开启补全日志

SQL>ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

SQL>ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;

SQL>ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

图片.png

3、再次检查补全日志的状态,确认补全日志已开启

SQL>SELECT supplemental_log_data_min, supplemental_log_data_pk,supplemental_log_data_all FROM gv$database;

图片.png

2.7.4 切换日志文件

SQL>ALTER SYSTEM SWITCH LOGFILE;

图片.png

三、安装执行

3.1 上传 解压 KFS同步程序

tar –zxvf KingbaseFlysync-Vxxxxxxxxxxxxxx-replicator.tar.gz

图片.png

3.2 配置 flysync.ini

在安装用户home目录下新建flysync.ini文件,示例如下:

[defaults]

install-directory=/home/flysync/flysync_test

profile-script=~/.bash_profile

rmi-port=11000

 

[oracle11dg]

role=master

master=10.10.3.188

members=10.10.3.188

kufl-port=3112

replication-host=10.10.3.185

replication-port=1521

replication-user=FLYSYNC

replication-password=123456

datasource-type=oracle

datasource-oracle-service=orcl

oracle-extractor-method=redo

svc-extractor-filters=dropstatementdata

property=replicator.extractor.dbms.tablePatterns=TEST.,FLYSYNC.

property=replicator.extractor.dbms.scnSegmentationThreshold=5000

参数说明:

[defaults]
install-directory=/home/flysync/flysync_test同步程序安装目录
profile-script=~/.bash_profile
rmi-port=11000rmi端口号,默认为11000
[oracle11dg]服务名
role=master同步角色,源端为master,目标端为slave
master=10.10.3.188源端服务的安装ip
members=10.10.3.188本服务的安装ip
kufl-port=3112KUFL端口号
replication-host=10.10.3.185数据库scan ip
replication-port=1521数据库端口
replication-user=FLYSYNC数据库用户名
replication-password=Pass123456数据库用户密码
datasource-type=oracle数据库类型
oracle-extractor-method=redo解析方式
svc-extractor-filters=dropstatementdata禁止DDL同步
property=replicator.extractor.dbms.tablePatterns= TEST.,FLYSYNC.表过滤
property=replicator.extractor.dbms.scnSegmentationThreshold=5000从当前SCN号之前5000个SCN开始解析

注意:

replicator.extractor.dbms.tablePatterns为表过滤参数,格式为“模式名.表名”;

3. 3 执行 安装

执行解压目录/tools/下的fspm install

图片.png

更新环境配置

source ~/.bash_profile

3.4 上传 license文件

复制license文件至KFS安装目录

图片.png

3. 5 启动 同步程序

replicator start

图片.png

3. 6 查看 同步服务情况

fsrepctl services fsrepctl status state online 表示 服务正常

图片.png

 图片.png

四、测试验证

在源端数据库执行以下SQL

SQL>INSERT INTO TEST09.T1 values(1, 1001);

SQL>COMMIT;

图片.png

执行kufl –service dm list查看解析情况

图片.png

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