Oracle安装部署人大金仓KFS同步程序oracle单机作为源端时的安装部署——Logminer解析

2023年 10月 12日 114.4k 0

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析

关键字:

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

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

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

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

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

vi ~/.bash_profile

export RUBY_HOME=ruby绝对路径

export PATH=RUBYHOME/bin:RUBY_HOME/bin:RUBYH​OME/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;

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

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

SQL>shutdown immediate;

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

SQL>startup mount

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

SQL>alter database archivelog;

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

SQL>alter database open;

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

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

SQL>select log_mode from v$database;

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

2.6.3 开启补全日志

1、检查补全日志的状态

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

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

2、开启补全日志(建议在MOUNT模式下执行)

SQL>ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

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

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

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

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

3、再次检查补全日志的状态

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

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

2.6.4 切换日志文件

SQL>ALTER SYSTEM SWITCH LOGFILE;

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

三、安装执行

3.1 上传并解压KFS同步程序

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

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

3.2 配置flysync.ini

在$HOME目录下新建flysync.ini文件,示例如下:

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

参数说明:

[defaults]
install-directory=/home/fly/kfs 同步程序安装目录
profile-script=~/.bash_profile
rmi-port=11000 rmi端口号,默认为11000
[oracle11g_logminer] 服务名
role=master 同步角色,源端为master,目标端为slave
master=10.10.5.49 源端服务的安装ip
members=10.10.5.49 本服务的安装ip
kufl-port=3112 KUFL端口号
replication-host=10.10.5.49 数据库ip
replication-port=1521 数据库端口
replication-user=FLYSYNC 数据库用户名
replication-password=123 数据库用户密码
datasource-type=oracle 数据库类型
oracle-extractor-method=logminer 解析方式
datasource-oracle-service=orcl 数据库名
property=replicator.extractor.dbms.tablePatterns=FLYSYNC.,TEST. 表过滤
property=replicator.extractor.dbms.scnSegmentationThreshold=5000 是否保留DML
svc-extractor-filters=dropstatementdata 开启过滤DDL语句

注意:

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

3.3 执行安装

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

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

更新环境配置

source ~/.bash_profile

3.4 上传license文件

上传license文件至$HOME/kfs/目录

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

3.5 启动同步程序

replicator start

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

3.6 查看同步服务情况

fsrepctl services或fsrepctl status(state:online表示服务正常)

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

四、测试验证

在源端数据库执行以下SQL

CREATE TABLE TEST.TEST_1(id int, name varchar(50));

INSERT INTO TEST.TEST_1 values(1, 'dawf');

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

执行kufl -service oracle11g_logminer list查看解析情况

Oracle安装部署人大金仓KFS同步程序--oracle单机作为源端时的安装部署——Logminer解析-1

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

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论