暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle RAC安装部署金仓KFS同步程序—Oracle RAC作为源端时的安装部署-logminer解析

原创 KFS补给站 2024-12-12
177



关键字:

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

概述

Kingbase FlySync支持基于Oracle RAC作为源端的数据同步。KingbaseFlySync现支持基于Oracle RAC作为源端的有2种解析方式,分别为:

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

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

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

Logminer方式解析不需要配置ASM相关参数。

二、安装前准备

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

2.1 环境信息

参数名

参数

源端数据库IP地址

10.10.3.186,10.10,3,187

安装KFS同步程序IP地址

10.10.3.188

Oracle侦听服务名

ORCL

Oracle数据库监听端口号

1521

可用内存

>4GB

可用储存空间

>1GB+7*每日数据增量

2.2 端口开放

1、关闭防火墙

1).停止防火墙

service firewalld stop   

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

chkconfig firewalld off  

 

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

telnet xx.xx.xx.xx 端口号

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

端口

描述

11000/11001

KFS远程管理/监控RMI端口

3112

KUFL传输接口

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 ~/.bash_profile

export RUBY_HOME=ruby绝对路径

export PATH=$RUBY_HOME/bin:$PATH

source ~/.bash_profile

2.5 jdk环境配置

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

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

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

vi ~/.bash_profile

export JAVA_HOME=jdk绝对路径

export PATH=$JAVA_HOME/bin:$PATH

source ~/.bash_profile

2.6安装包准备 

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

2.7 Oracle RAC数据库准备

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

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 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;

2.7.2 开启Oracle数据库的归档日志

1、设置归档路径:

RAC的归档路径设置在共享磁盘内

SQL>alter system set log_archive_dest_1=’+DATADG’ scope=spfile sid=’*';

 图片.png

2、然后关闭全部实例,启动1个实例,更改数据库为归档模式:

srvctl stop database -d orcl

srvctl status database -d orcl

SQL>startup mount;

SQL>alter database archivelog;

SQL>alter database open;

SQL>archive log list;

 

3、启动其他节点,完成归档模式的变更过程。

SQL>startup;

 图片.png

4、查看所有实例归档开启情况,确认所有归档已开启

SQL> select inst_id,dbid,name,log_mode from gv$database;

 图片.png

2.7.3 开启补全日志

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;

 

 

三、安装执行

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

 

[oracle11rac]

role=master

master=10.10.3.188

members=10.10.3.188

kufl-port=3112

replication-host=10.10.3.186

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

property=replicator.datasource.global.connectionSpec.use_cluster=true

property=replicator.datasource.global.connectionSpec.slave_add=10.10.3.187

property=replicator.datasource.global.connectionSpec.slave_port=1521

参数说明:

[defaults]


install-directory=/home/flysync/flysync_test

同步程序安装目录

profile-script=~/.bash_profile


rmi-port=11000

rmi端口号,默认为11000



[oracle11rac]

服务名

role=master

同步角色,源端为master,目标端为slave

master=10.10.3.188

源端服务的安装ip

members=10.10.3.188

本服务的安装ip

kufl-port=3112

KUFL端口号

replication-host=10.10.3.186

数据库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开始解析

property=replicator.datasource.global.connectionSpec.use_cluster=true

oracle 数据库是否采用集群连接方式,true 代表采用

property=replicator.datasource.global.connectionSpec.slave_add=10.10.3.187

Oracle RAC 集群其他对外访问的地址,多个地址时采用逗号 (,) 分割,当 use_cluster为 false 时无效

property=replicator.datasource.global.connectionSpec.slave_port=1521

Oracle RAC 集 群 其 他 对 外 访 问 地 址 的 端 口,与上面slave_add参数值一一对应,多个地址时采用逗号 (,) 分割,当 use_cluster为 false 时无效

注意:

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 servicesfsrepctl statusstateonline表示服务正常

 图片.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

 

最后修改时间:2024-12-13 11:51:34
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论