
源端环境按照

sudo adduser flysyncecho flysync | passwd --stdin flysyncid flysyncsudo usermod -G oinstall,dba flysyncid flysyncsu - flysyncvi home/flysync/.bash_profile#添加oracle11g数据库环境变量export PATH=$PATH:/u01/app/oracle/product/11.2.0/dbhome_1/binexport ORACLE_SID=orclexport ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1tail -3 home/flysync/.bash_profilesource /home/flysync/.bash_profile

调整flysync的最大文件句柄数(open files)、允许创建的最大进程数量(max user processes)
--在文件末尾添加以下内容:
vi etc/security/limits.confgrep flysync etc/security/limits.conf-------增加内容 ---------------flysync - nofile 65535flysync - nproc 8096
vi /etc/hostscat etc/hosts-------增加内容 ---------------192.168.40.40 oracle40192.168.40.111 node1192.168.40.112 node2
vi etc/sysconfig/networkcat /etc/sysconfig/network-------写入内容 ---------------NETWORKING = yesHOSTNAME = oracle40
[root@oracle40 ~]# cp install/rbenv_2.2.2_linux_x64.zip home/flysync/[root@oracle40 ~]# chown flysync:flysync home/flysync/rbenv_2.2.2_linux_x64.zip##配置环境变量vi ~/.bash_profile##写入以下内容----export RUBY_HOME=/home/flysync/rbenv/rubyexport PATH=$RUBY_HOME/bin:$PATH##加载环境变量source ~/.bash_profileruby -v


[flysync@oracle40 ~]$ ls -ld u01drwxr-xr-x 3 root root 16 1月 7 11:55 /u01[flysync@oracle40 ~]$ exit登出[root@oracle40 ~]# chmod g+r,g+x u01[root@oracle40 ~]# ls -ld u01drwxr-xr-x 3 root root 16 1月 7 11:55 /u01[root@oracle40 ~]#

暑不尽的盛夏


[oracle@oracle40 ~]$ env|grep -i sidORACLE_SID=orcl[oracle@oracle40 ~]$ sqlplus / as sysdbaSQL> select name,open_mode from v$database;NAME OPEN_MODE-------------------- ------------------------------------------------------------ORCL READ WRITESQL> alter system register;系统已更改。SQL> !lsnrctl status

cp /install/privs.sql home/oracle/chown oracle:oinstall home/oracle/privs.sqlls -l home/oracle/privs.sql

CREATE USER FLYSYNC IDENTIFIED BY flysync;GRANT CONNECT,DBA 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;GRANT SELECT ANY TABLE TO flysync;GRANT SELECT ANY TRANSACTION TO flysync;


6、开启归档、开启补全日志
SHUTDOWN immediate;STARTUP MOUNT;ALTER DATABASE archivelog;ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;ALTER DATABASE OPEN;



源环境环境检查


确认其他的机器IP地址 是否正确



部署同步程序

su - flysyncmkdir /home/flysync/installcd /home/flysync/installcp /install/KingbaseFlySync-V002R002C004B20240919-replicator.tar.gz ./ls -l KingbaseFlySync-V002R002C004B20240919-replicator.tar.gztar -zxf KingbaseFlySync-*-replicator.tar.gz
[flysync@oracle40 install]$ cd KingbaseFlySync-V002R002C004B20240919-replicator/flysync-replicator/lib[flysync@oracle40 lib]$ cp ../../extensions/jdbc/kingbase8-8.6.0.jar .
1、创建kingbase FlySync配置文件cd ~/install/KingbaseFlySync-*-replicator/flysync-replicator/samples/ini/cp flysync_oracle-logminer_source.ini ~/flysync.ini2、配置Kingbase FlySync 配置文件[defaults]# 安装目录install-directory=~/replicator# 环境变量脚本位置profile-script=~/.bash_profile# rmi端口,默认11000rmi-port=11000repl_java_mem_size=2048# 服务名[oracle]# 监听kufl获取的端口kufl-port=3112# master主机名master=oracle40# 当前主机名members=oracle40# 数据源类型datasource-type=oracle# 同步数据库信息replication-host=oracle40replication-user=FLYSYNCreplication-password=flysyncreplication-port=1521# 同步服务角色role=master## oracle 指定连接的数据库名称datasource-oracle-service=orcl# oracle数据库需指定此项,解析增量方式logmineroracle-extractor-method=redo## oracle-LOGMINER 同步表信息、scn号差值的阈值property=replicator.extractor.dbms.tablePatterns=FLYSYNC.*,SPACE01.*property=replicator.extractor.dbms.scnSegmentationThreshold=5000## 过滤器开关配置## dropstatementdata 不开启DDL同步svc_extractor_filters=replicate,dropstatementdatasvc-remote-filters= rename,casetransform## 集群参数# property=replicator.datasource.global.connectionSpec.use_cluster=true# property=replicator.datasource.global.connectionSpec.slave_add=192.168.28.176,192.168.28.176# property=replicator.datasource.global.connectionSpec.slave_port=1521,1521### 过滤器详细配置## replicate 表过滤property=replicator.filter.replicate.do=FLYSYNC.*,SPACE01.*# property=replicator.filter.replicate.ignore=PUBLIC.T1## casetransform 大小写转换property=replicator.filter.casetransform.to_upper_case=true## 优化参数# 达到多少条记录后,分事务,默认 500property=replicator.extractor.dbms.maxRowsByBlock=500# 若多少秒没有新的事务产生,那么就直接返回该事务,不再等待合并property=replicator.extractor.dbms.maxWaitingTime=2# 大事务优化参数property=replicator.extractor.dbms.minRowsPerBlock=4000# 自动恢复尝试次数,系统 OFFLINE 时,尝试将系统重新置于ONLINE状态的次数repl_auto_recovery_max_attempts=0# 系统 OFFLINE 时,尝试 ONLINE 之前的等待时间,s(秒)、m(分钟)、h(小时)repl_auto_recovery_delay_interval=30s# 系统自动恢复次数重置时间,s(秒)、m(分钟)、h(小时)repl_auto_recovery_reset_interval=300s
[flysync@oracle40 ~]$ cd install/KingbaseFlySync-V002R002C004B20240919-replicator/[flysync@oracle40 KingbaseFlySync-V002R002C004B20240919-replicator]$ lscluster-home extensions flysync-replicator tools[flysync@oracle40 KingbaseFlySync-V002R002C004B20240919-replicator]$ ./tools/fspm install



7、配置DML过滤策略(作为源端时)
#只抽取SPACE01 模式下的增量数据,静默安装时已配置,确认配置

--1、开启DML 映射功能,静默安装时已配置,确认配置。cat ~/flysync.ini | grep -E "svc-remote-filters|to_upper_case"--2、将space01模式下的增量数据映射到SPACE01下。vi ~/replicator/filters-config/rename.csv------------清空原内容后写入以下内容-----------space01,*,*,SPACE01,-,-cat ~/replicator/filters-config/rename.csv



总结:
Kingbase KFS 提供了强大的数据抽取功能,能够满足不同场景下的数据同步需求。
通过合理的配置和优化,可以确保数据抽取的高效性和稳定性。
附录:
参考文档:金仓官方文档、KFS 用户手册。
文章转载自山佳数峰寻道,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




