Oracle 单机/RAC 至 KingbaseES V8 安装部
署最佳实践
kingbase
Mar 20, 2023
目 录
1 概述 5
1.1 产品介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 安装包及组件介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 图形化安装程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 手动部署包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.3 授权文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.4 安装配置文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 场景概述 7
3 安装部署概览 9
3.1 实施前准备 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 安装部署 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3 实施收尾 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4 相关技术资源 11
5 实施前准备 13
5.1 环境评估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.1.1 硬件及操作系统环境评估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.1.1.1 硬件环境评估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.1.1.2 操作系统环境评估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.1.2 网络环境检查 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.1.3 数据库环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1.4 依赖软件环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.2 业务数据评估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.3 部署方案选型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.3.1 后端同步程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.3.2 管理控制台 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.3.3 物理部署拓扑 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
6 安装和部署 17
6.1 管控平台安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.1.1 安装前准备 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.1.2 创建操作系统用户 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
6.1.3 创建安装目录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.1.4 启动安装程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.1.5 服务启动 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.2 同步软件安装部署 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.2.1 系统环境配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.2.1.1 操作系统用户 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.2.1.2 操作系统环境配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.2.2 数据库配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.2.2.1 Oracle 源端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.2.2.2 KingbaseES V8 目标端配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.2.3 同步软件配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.2.3.1 手动安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.2.3.2 图形化安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
6.2.4 同步程序启动 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
7 存量数据迁移及验证 31
7.1 存量数据迁移 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
7.2 初始数据一致性验证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
8 实施收尾 35
8.1 同步状态监控 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
8.2 性能验证及调优 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
9 常见问题及处理方式 37
4 目 录
第 1 章
概述
1.1 产品介绍
Kingbase FlySync(以下简称 KFS)是面向异地容灾、数据集中共享的场景推出的具备在异构数据平台间实
现实时、增量数据同步的工具类产品,主要采用了物理日志解析技术,帮助用户解决不同数据平台的数据
间可实现任意方向实时移动流转的问题,并保证此过程中数据不丢失,状态可监控,流转数据量可统计。
Kingbase FlySync 支持多种操作系统和硬件平台。它支持中标麒麟、银河麒麟操作系统、其他 Linux 等数个
操作系统产品版本,支持 X86 等系列及国产龙芯、飞腾、鲲鹏等 CPU 硬件体系结构,并具备与这些版本服
务器和管理工具之间的无缝互操作能力。
1.2 安装包及组件介绍
1.2.1 图形化安装程序
• KingbaseFlySync-V00XR00XC00XBXXXXXXXX-Linux-XXXX.tar.gz
Kingbase FlySync Linux 平台一体化安装包。
• KingbaseFlySync-V00XR00XC00XBXXXXXXXX-Windows-XXXX.zip
Kingbase FlySync Windows 平台一体化安装包。
5
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
1.2.2 手动部署包
• KingbaseFlySync-V00XR00XC00XBXXXXXXXX-manager.tar.gz
Kingbase FlySync 服务中心的安装包
• KingbaseFlySync-V00XR00XC00XBXXXXXXXX-console.tar.gz
Kingbase FlySync 管控平台的安装包
• KingbaseFlySync-V00XR00XC00XBXXXXXXXX-compare.tar.gz
Kingbase FlySync 比对服务的安装包
• KingbaseFlySync-V00XR00XC00XBXXXXXXXX-replicator.tar.gz
Kingbase FlySync 同步程序的安装包,该包是压缩后的脚本、部分依赖工具和安装包的集合。
1.2.3 授权文件
license.dat
Kingbase FlySync 的授权文件,该文件用于软件启动进行授权检查,没有该文件,软件无法
启动。
1.2.4 安装配置文件
flysync_XXX_YYY.ini
该文件是同步软件的配置文件,用于设置部署不同数据源时涉及的相关参数信息,在同步程序
安装包目录下:
KingbaseFlySync-V00XR00YC00ZBXXXX-replicator/ysync-replicator/samples/ini
命名中 XXX 代表具体数据源名称, YYY 用于区分源端或目标端。
6 第 1 章 概述
第 2 章
场景概述
本文假定场景为 Oracle 11g 至 KingbaseES V8 数据同步场景。 Oracle 源端安装部署在 Linux CentOS 操作系
统,且业务存在可停服的维护窗口时间段。 KingbaseES 使用 V8R2 版本,单机环境。 Oracle 所在服务器与
KingbaseES 所在服务器网络通信正常,中间无网络隔离设备限制。硬件服务器除 Oracle 及 KingbaseES 所
在服务器外,提供两台台 Linux 服务器。同步场景为,从源端数据库单向同步至目标端数据库,拓扑结构为
1 对 1。
数据库信息:
角色 | 要同步的数据库 | 数据库所在 IP |
源端 | TEST_SOURCE | 192.168.11.31 |
目标端 | TEST_TARGET | 192.168.11.3 |
7
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
8 第 2 章 场景概述
第 3 章
安装部署概览
3.1 实施前准备
该阶段的目的主要是,在部署前对该次实施的所涉及的所有组件,进行初步的可行性评估和风险的提前识
别,从而保障实施过程的顺利进行。
通常在该阶段需要涉及的步骤有:
1. 业务数据评估
评估业务库中的数据类型,主键信息,数据量等。
2. 硬件及操作系统环境评估
评估 CPU、操作系统是否支持,磁盘空间、内存空间是否充足。
3. 网络环境检查
评估网络是否连通,机器名是否正确
4. 数据库环境
确认源端数据库所需配置项。
5. 依赖软件环境
检查 KFS 安装时所需的依赖软件是否完备,如 JDK、 RUBY 等。
6. 部署方案选型
9
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
确定此次实施要安装的系统组件以及其部署方式。
3.2 安装部署
该阶段是在前期准备工作完成后,实施人员进行实际操作的步骤。
1. 常用部署方法
介绍了 KFS 常用的 2 种安装部署方式,分别为图形化部署和命令行部署。
2. 关键安装步骤
详细描述了 KFS 安装过程中的每个步骤已经需要注意的事项。
3.3 实施收尾
该阶段是在安装部署完成后,对 KFS 功能和性能的正常运行进行检验,从而保证用户业务数据的一致性和
后期运行的稳定性。
主要包含以下步骤:
1. 初始数据一致性确认
检验源端和目标端的初始数据是否一致。
2. 性能确认和调优
评估 KFS 的同步性能是否可以满足用户需求,对不满足的场景进行调优。
10 第 3 章 安装部署概览
第 4 章
相关技术资源
本指南重点从业务评估、软件安装、特性配置等几方面描述 KFS 安装部署的关键技术和实现方式。在每项
技术和实现方式的描述上,本指南只提供有限的内容介绍,并未提供全面的细节说明。所以,用户若需了解
某些技术的实现细节还请参照相关的技术资料,这些资料诸如:
1. Kingbase FlySync 业务需求调研表:实施前对用户业务进行全方位的调研,从而确定项目的可行性并
提前发现可能存在的风险。
2. Kingbase FlySync 部署前评估指南:提供了进行评估的详细操作方法。
3. Kingbase FlySync 生命周期管理手册:为 KFS 的全生命周期方案提供了完整可靠的设计方法。
4. Kingbase FlySync 安装部署手册:详细描述了各个组件的安装步骤。
11
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
12 第 4 章 相关技术资源
第 5 章
实施前准备
5.1 环境评估
5.1.1 硬件及操作系统环境评估
硬件环境包括: CPU、内存、磁盘等核心硬件的检测。
• CPU :
• 内存: 4GB 及以上
• 硬盘:
硬件环境具体评估项及评估方法请参考:
《Kingbase FlySync 部署前评估指南》中的“评估运行环境”章节。
5.1.1.1 硬件环境评估
Kingbase FlySync 目前支持的操作系统包括:
13
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
系统类型 | 操作系统 | 版本 |
Linux | CentOS | CentOS 6.x 和 7.x |
Linux | 银河麒麟 | 国产飞腾平台 |
Linux | 中标麒麟 | 国产龙芯平台 |
Linux | UOS | 国产鲲鹏平台 |
Linux | 凝思 | 凝思 4.x、 6.x |
5.1.1.2 操作系统环境评估
5.1.2 网络环境检查
Kingbase FlySync 数据同步过程依赖网络数据传输,实现源端及目标端数据的同步,为保证同步的实时性及
软件的正常运行,需要一定的网络环境支撑。
• 网卡:
• 带宽:
• 端口:
Kingbase FlySync 运行本身需要的端口如下:
端口 | 描述 |
11000、 11001 | FlySync 远程管理/监控端口 |
3112 | KUFL 传输接口 |
8089、 8090、 8091 | 管控平台相关访问接口 |
此外 Kingbase FlySync 所在机器需要能够连通同步两端数据库。
使用 ping 命令检查数据库所在机器的连通性:
ping xx.xx.xx.xx
使用 telnet 检查数据库端口是否开放:
telnet xx.xx.xx.xx 端口
14 第 5 章 实施前准备
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
5.1.3 数据库环境
Kingbase FlySync 支持基于 Oracle 作为源端的数据同步,可支持的 Oracle 版本包括:
• Oracle 10g
• Oracle 11g
• Oracle 12c
Kingbase FlySync 支持基于 KingbaseES V8 及 KingbaseES V8 集群作为目标端的数据同步。
5.1.4 依赖软件环境
系统安装部署依赖软件环境包括:
软件 | 版本 | 检查方式 | 备注 |
JDK | 1.8 及以上 | java -version | 必须 |
Ruby | 1.8.7,1.9.3,2.0 | ruby –v | 必须,建议使用安装包自带版本 |
sqlplus | 具体版本与 Oracle 一致即可 |
注意: 此处所列依赖除 sqlplus 外,均包含在 Kingbase FlySync 一体化安装包中。
5.2 业务数据评估
业务数据评估是对用户业务库中的数据类型、数据量、主键等信息进行评估,此步骤非常关键,若不进行评
估,会直接影响到上线后同步程序的正常运行,可能会导致目标端用户数据丢失等情况出现。
具体评估项及评估方法请参考: 《Kingbase FlySync 部署前评估指南》
5.3 部署方案选型
KFS 需要安装的主要组件有 2 个,分别是后端同步程序和管理控制平台。
5.3.1 后端同步程序
集中部署
优点:
1. 不受限于网络环境,同步效率较高
2. 所有程序部署在一起,方便后续运维
缺点:
5.2. 业务数据评估 15
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
1. 业务数据库和 KFS 部署在相同物理机上,会占用主机部分的资源
2. 数据库或硬件异常会导致 KFS 停止工作
优点:
1. 数据库节点和同步工具相互独立,各自的节点异常不会相互影响硬件异常不会
影响同步工具的正常运行,可用性强
2. 不受限于数据库所在的硬件环境,可以做到跨平台
缺点:
1. 需要提供单独的部署环境,对预算有所要求
2. 对网络带宽有要求,网络带宽的大小影响同步的效率
在本场景中,用户提供了 2 台独立的物理机进行 KFS 部署,因此采用分离部署方式进行 KFS 后端同步程序
的部署。
注意: 由于源端为 Oracle,采用分离部署时需指定源端采集方式为 Logminer,若使用集中部署则推荐源端
采集方式为 Redo。
5.3.2 管理控制台
管理控制平台的主要作用是监控同步程序的状态,以及进行同步数据的一致性确认,由于对资源的占用相
对较小,因此通常我们将管理控制平台和目标端 KFS 同步程序部署在同一个物理节点上。
5.3.3 物理部署拓扑
通过确认上述两个步骤的方案后,可以得出本次部署方案的物理拓扑图。
16 第 5 章 实施前准备
第 6 章
安装和部署
安装与配置过程以 KingbaseES V8R7 作为源端及目标端的安装配置过程为例。其他类型数据库安装及配置
过程类似。具体 flysync.ini 配置参数请参考《Kingbase FlySync 安装部署手册》。
6.1 管控平台安装
6.1.1 安装前准备
执行安装程序前注意事项如下:
• 安装用户对于安装路径需要有“读”、“写”、“执行”的权限。
• Linux 中,需要以非 root 用户执行安装程序。
6.1.2 创建操作系统用户
创建管控平台安装用户。
1. 使用 root 用户登录系统,并执行如下命令创建 flysync 用户;
useradd kingbase
2. 使用 root 用户,设置 kingbase 用户名、密码;
17
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
passwd kingbase
3. 使用 kingbase 用户,上传安装包并解压;
tar -zxvf KingbaseFlySync-V001R00X*-Linux-x86_64.tar.gz
注意: 其中 KingbaseFlySync-V001R00X*-Linux-x86_64.tar.gz 是安装包的具体名称,根据实际情况进行调
整
6.1.3 创建安装目录
管控平台安装过程中有默认的安装目录/opt/KFS,如直接使用 flysync 用户安装,安装过程中会提示没有权
限,需要将安装目录的权限赋予 flysync 用户。
• 使用默认路径
使用 root 用户执行如下命令:
mkdir -p /opt/KFS
chown -R flysync: flysync /opt/KFS
• 自定义安装路径
自定义安装路径为/home/kingbase/KFS,使用 kingbase 用户创建目录的命令如下:
su - flysync
cd /home/flysync
mkdir KFS
6.1.4 启动安装程序
以非 root 用户登录,打开新终端,进入安装程序中 setup.sh 所在目录,以非 root 用户执行如下命令:
• 图形界面安装
sh setup.sh 或 sh setup.sh -i swing
• 命令行安装
sh setup.sh -i console
具体安装过程请参见:《Kingbase FlySync 安装部署手册》。
18 第 6 章 安装和部署
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
6.1.5 服务启动
Kingbase FlySync 服务的启动通过命令行方式操作。
• 启动管控平台
1. 打开新终端;
2. 切换到 root 用户;
3. 运行 < 安装目录 >/scripts/fs.sh console start;
• 启动比对服务
1. 打开新终端;
2. 切换到 root 用户;
3. 运行 < 安装目录 >/scripts/fs.sh compare start;
6.2 同步软件安装部署
6.2.1 系统环境配置
6.2.1.1 操作系统用户
Kingbase FlySync 部署之前,需要建立独立的运行帐号。
1. 使用 root 用户登录操作系统
2. 配置系统帐号及密码
adduser flysync
sudo passwd flysync
如果必要,可以将 Oracle 或者 Kingbase 的属组赋予 Kingbase FlySync 帐号。
usermod –G oracle flysync
usermod –G kingbase flysync
6.2. 同步软件安装部署 19
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
6.2.1.2 操作系统环境配置
用户环境配置包括对以下几个部分配置检查和确认
1. 系统属性检查配置
ulimit 用于限制 shell 启动进程所占用的资源。因 KingbaseFlySync 在运行时,会需要打开大量的文件
句柄,所以需要检查一下系统相关的 ulimit 属性参数是否能够满足要求。
KFS 进程涉及的几个限制包括最大文件句柄数( open files)、允许创建的最大进程数量( max user
processes),以上示例表明最大文件句柄数和允许创建的最大进程数量的参数值不符合运营配置要
求,可通过修改配置文件进行调整。
vim /etc/security/limits.conf
flysync - nofile 65535
flysync - nproc 8096
其中:
• 第 1 列表示配置的 OS 用户名(根据实际用户修改)
• 第 3 列表示配置的属性( nofile 表示打开文件数, nproc 表示打开的进程数)
• 第 4 列表示配置的数值
完成修改后,退出当前 session,重新登录。再次通过命令“ulimit-a”检查配置是否生效。
2. hosts 文件配置
为了保证后续系统的正常部署和运行,必须为后续参与同步操作的每个机器配置机器名,修改/etc/
hosts 文件
若有 2 个物理设备需要参与同步操作,配置如下:
127.0.0.1 localhost
192.168.11.31 host1
(continues on next page)
20 第 6 章 安装和部署
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
(continued from previous page)
192.168.11.32 host2
此外,需要在/etc/sysconfig/network 中设置本机的 hostname 这个属性值。
示例配置文件如下:
::
NETWORKING =yes
HOSTNAME =host1
GATEWAY =192.168.11.1
最后,分别检查机器的相关配置是否设置成功。可通过下面参考命令进行查询。
• 检查机器名 uname -n
• 确认 IP 地址 hostname –ip-address
• 确认其他机器的 IP 地址是否正确 nslookup host1 ping host1
注意: 若服务已配置主机名及 ip 地址,使用已配置好的即可。
3. 时钟同步检查
查看参与数据同步的两端所在物理机器的当前系统时间,需要保证时间彼此一致,否则可能会造成同
步程序工作异常。
6.2.2 数据库配置
6.2.2.1 Oracle 源端
1. 创建账号并授权
--创建用户
CREATE USER FLYSYNC IDENTIFIED BY password;
--授权
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 权限,可执行如下命令:
6.2. 同步软件安装部署 21
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
• Logminer 方式
--创建用户
CREATE USER FLYSYNC IDENTIFIED BY password;
--授权
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;
• Redo 方式
-创建用户
CREATE USER FLYSYNC IDENTIFIED BY password;
--授权
GRANT CONNECT TO FLYSYNC;
GRANT CREATE SESSION TO FLYSYNC;
GRANT UNLIMITED TABLESPACE TO FLYSYNC;
GRANT CREATE TABLE TO FLYSYNC;
(continues on next page)
22 第 6 章 安装和部署
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
(continued from previous page)
GRANT EXECUTE_CATALOG_ROLE TO FLYSYNC;
GRANT SELECT ANY DICTIONARY TO FLYSYNC;
GRANT SELECT ON V_$PARAMETER TO FLYSYNC;
注意: 目前管控平台图形化安装不支持 redo 方式部署,若使用 redo 方式可通过手动安装方式实现。
2. 数据库设置
数据库需要设置 NSL_DATE_FORMAT,设置好以后需要重启数据库,命令如下:
ALTER SYSTEM SET NLS_DATE_FORMAT='YYYY-MM-DD'SCOPE=SPFILE;
3. 开启 Oracle 数据库的归档日志(必须开启),具体步骤如下
• 检查是否归档已经开启
SQL> select log_mode from v$database;
LOG_MODE
------------
NOARCHIVELOG
• 开启归档(需要重启数据库)
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。
数据库装载完毕。
SQL> alter database archivelog;
数据库已更改。
SQL> alter database open;
数据库已更改。
• 再次查看数据库归档情况
SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG
4. 开启补全日志
• 检查补全日志的状态
6.2. 同步软件安装部署 23
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
SQL> SELECT supplemental_log_data_min, supplemental_log_data_pk,
2 supplemental_log_data_all FROM v$database;
SUPPLEME SUP SUP
-------- --- ---
NO NO NO
• 开启补全日志 (建议在 MOUNT 模式下执行)
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
Database altered.
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
Database altered.
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
Database altered.
• 再次检查补全日志的状态
SQL> SELECT supplemental_log_data_min, supplemental_log_data_pk,
2 supplemental_log_data_all FROM v$database;
SUPPLEME SUP SUP
-------- --- ---
YES YES YES
5. 切换日志文件
SQL> ALTER SYSTEM SWITCH LOGFILE;
System altered
注意:
若采用 Logminer 方式,则需要确认 Oracle 是否已安装 Logminer,如果没有安装则需要通过 SYS 管理员进
行安装。命令如下
@$ORACLE_HOME/RDBMS/ADMIN/dbmslm.sql
@$ORACLE_HOME/RDBMS/ADMIN/dbmslmd.sql
@$ORACLE_HOME/RDBMS/ADMIN/dbmslms.sql
24 第 6 章 安装和部署
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
6.2.2.2 KingbaseES V8 目标端配置
目标端无特殊配置。若目标端为 KingbaseES V8 集群,其配置可参考《Kingbase FlySync 安装部署手册》。
6.2.3 同步软件配置
6.2.3.1 手动安装
手动安装指通过登录远程服务器,使用命令行手段进行同步软件的安装及部署。手动安装部署适用于对
Kingbase FlySYnc 有一定了解,并且熟悉其安装步骤的实施人员使用
具体安装过程请参见:《Kingbase FlySync 安装部署手册》
6.2.3.1.1 依赖安装配置
具体安装过程请参见:《Kingbase FlySync 安装部署手册》
6.2.3.1.2 同步软件部署
具体安装过程请参见:《Kingbase FlySync 安装部署手册》
6.2.3.2 图形化安装
6.2.3.2.1 登录管控平台
通过浏览器访问并登录管理控制台。 默认地址/端口: http://${管控平台 IP 地址}/8089 默认用户名/密码:
admin/admin
6.2.3.2.2 注册节点
登录管控平台后,点击【部署管理】 ->【节点管理】注册需要部署同步工具的服务器节点。
1. 点击【部署管理】 ->【节点管理】
2. 点击【新建】
6.2. 同步软件安装部署 25
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
3. 填写要进行部署 KFS 的具体物理节点信息。
• 名称:安装同步程序所在物理的描述信息
• 地址:安装同步程序所在物理服务器的 IP 地址
• 端口:安装同步程序所在物理服务器的 RMI 通讯端口,默认 11000
• 是否启用 SSH:是否能够 SSH 的方式登录物理服务器,如果不启用则图形界面中 KFS 启
动停止、服务的启动停止、上传 license、查看 license、卸载、拓扑安装功能不能使用
• 安装用户名:安装同步程序所在物理服务器的用户名,默认 flysync
• 安装用户密码:安装同步程序所在物理服务器的用户密码
• 安装目录:安装同步程序的目录,在用户的根目录下的目录
• SSH 端口:连接所在节点 SSH 通讯端口
1. 点击【保存】。
26 第 6 章 安装和部署
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
添加成功后在表格中可以看到相应的节点信息。
6.2.3.2.3 拓扑模型配置
通过管理控制台提供的拓扑配置功能进行源端 Oracle 到 KingabseES V8 目标端的同步工具安装及部署。
点击【部署管理】 ->【拓扑设置】 , 拖拽相应的源端( Oracle)及目标端 (KingbaseES) 至面
板中,并进行连线,连线方向由 Oracle 到 KingbaseES。连接好后双击节点,即可进行同步
部署的信息设置。
• 源端配置
1). 设置部署参数 同步部署方式:根据实际需要,选择同步程序是否与数据库部署在同一
物理节点上,若部署在同一物理节点则选择【集中部署】,若不考虑部署在同一物理节
点上,则选择【分离部署】。
此处我们选择分离部署。 同步服务部署节点:选择当前同步服务程序所要安装的物理节点
IP,可选 IP 为【节点管理】中已经完成创建且可用的节点 IP。
2). 设置数据库参数 IP 地址:数据库 IP 地址端口:数据库访问端口用户名:数据库访问用
户名密码:数据库访问密码
3). 设置同步服务参数 本服务名称:当前配置节点所承担的服务角色名称本服务端口:当
前配置节点所承担的服务角色服务端口源端服务 IP 地址: 端口:当前配置节点连接源
端服务的 IP 地址和端口多对 1 场景下,目标端节点的同步服务参数会出现多个标签,
即【目标端 1】、【目标端 2】等,需要分别对目标端进行设置,如下图所示:
6.2. 同步软件安装部署 27
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
• 目标端配置
基本步骤同源端节点一致,主要区别为数据库信息和服务信息。具体功能使用及详细介绍
请参见:《Kingbase FlySync 安装部署手册》。
6.2.3.2.4 安装部署
通过管控平台提供的【安装/更新】功能即可进行目标端及源端的同步工具的安装配置及部署。
安装结果说明:
1. 安装成功 1). 安装成功会弹窗形式提醒安装成功 2). 日志显示区域中会有 end 结束标识。
2. 安装失败,可以查看日志部分的原因 1). 安装过程中,任意一个节点如果安装失败,整个安装过程也
会停止,并提示安装失败 2). 如果需要重新安装,即确认配置无误后,重新点击【安装/更新】。
28 第 6 章 安装和部署
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
注意:
如果拓扑图中有一个节点处于 ONLINE 状态,不允许安装,可以将该节点停止后安装。如果拓扑
图均处于 OFFLINE 状态,该拓扑允许进行安装操作,如果期间配置发生变动,则按新的配置重
新部署该拓扑。
6.2.4 同步程序启动
安装部署成功后,在【部署管理】 ->【节点管理】的列表中点击【启动】。点击数据表对应节点【启动】
6.2. 同步软件安装部署 29
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
30 第 6 章 安装和部署
第 7 章
存量数据迁移及验证
7.1 存量数据迁移
存量数据迁移可通过管控平台提供的“数据搬迁”功能进行。
1. 新建搬迁任务
1. 填写需要的信息
31
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
注意:
搬迁类型中,结构搬迁和数据搬迁分别表示是否要进行对应的操作,当只选择数据搬
迁时,可选择勾选清除目标端数据(默认勾选),勾选后会在数据搬迁前,将目标端要
搬迁的表中数据清除。
搬迁模式支持极速模式、平滑模式、特殊模式。极速模式:直接从源端数据库抽取数
据写入目标端。平滑模式、特殊模式:从源端数据库获取数据前记录当前数据库日志
号,同时将要搬迁的表进行加锁,搬迁完成后从之前记录的日志点开始同步增量上线,
做到业务平滑上线。
搬迁类型选择极速模式或平滑模式时,可配置数据搬迁高级参数
• 读写比例: KFS 根据 CPU 核心线程数进行分配读写比例( 1:1; 1: 2; 1:3; 1:4),
每条搬迁流水线默认为 1 读 3 写。
• CPU 资源:提供 CPU 资源占比,设置可使用 CPU 的核心线程数的百分比(默认
1,可选 30%、 50%、 80%、 100%) , 将多少核数应用于初始搬迁。
• 检验目标端表:检验目标端的表是否存在。
• 大表拆分:将单个表拆分成多个独立的逻辑子表,并行搬迁。
• 每块大小:默认 100MB 一批,可通过块大小参数指定大小,默认单位为 MB。
• 大对象长度:根据不同的数据类型计算长度因子(默认为 500,取值范围 1-
2000)。
1. 选择要搬迁的对象
32 第 7 章 存量数据迁移及验证
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
只需要选择源端表即可,系统会自动匹配需要搬迁到的目标位置(根据配置的同步服务)。
1. 点击完成,即可进行初始数据搬迁。搬迁的日志可以到 [数据搬迁] -> [查看结果] 中进行浏览和查看
注意:
极速搬迁功能,如果要保证数据一致性,需要在配置完数据同步,启动后台服务,配置完管
控平台,还没有正式数据同步前进行。
7.2 初始数据一致性验证
数据一致性确认的方法主要是通过管理控制平台的数据比对功能进行。数据比对分为 2 方式:
• 记录数比对:
仅对源和目标端中每张表的数据记录数进行比对。优点是比对速度较快,对数据库资源占用较小;缺点是仅
比对记录数,无法识别具体字段的数据差异。
• 详细比对:
逐行逐列的比对每张表的数据差异,并对差异结果进行标识展示。优点是比对结果较为详细,并可对有
差异的数据进行手动推平处理;缺点是比对速度慢,算法复杂比对时会占用部分数据库资源。选择好合
适的比对方式后,通过管理控制平台,创建比对任务开始进行初始数据的一致性确认。详细操作方法参
见:《Kingbase FlySync 管理手册》中“数据校验”章节。
7.2. 初始数据一致性验证 33
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
34 第 7 章 存量数据迁移及验证
第 8 章
实施收尾
8.1 同步状态监控
同步程序部署上线后,需试运行一段时间,在此之间需要定期查看同步软件运行情况即数据同步情况。可通
过管控平台【实时监控】功能进行状态监控
8.2 性能验证及调优
同步性能影响着业务系统上线后的数据一致性问题,过大的延迟会导致目标端的数据不能及时更新,从而
影响目标端的用户业务,因此实时收尾阶段进行同步性能的验证和调优至关重要。性能验证和调优的详细方
法请参见:《Kingbase FlySync 生命周期管理手册》中“功能和性能测试”章节。
35
Oracle 单机/RAC 至 KingbaseES V8 安装部署最佳实践
36 第 8 章 实施收尾
第 9 章
常见问题及处理方式
37