一、KDTS 工具介绍
金仓数据库数据迁移平台 (KDTS: Kingbase Data Transformation Service) 是为用户提供 Oracle、Mysql、SQLServer、Gbase、PostgreSQL、DM、KingbaseES 数据库数据迁移到 KingbaseES 数据库的数据迁移工具,支持同构、异构数据源之间的数据迁移。迁移完成后,KDTS提供完善的迁移结果报告。
二、KDTS 工具版本说明
KDTS工具包括BS版和SHELL版,随数据库一起打包发布,数据库安装完后就自带了KDTS工具。其中:
BS版是浏览器版,在 '${KES_HOME}/ClientTools/guitools/KDts/KDTS-WEB’目录下。
SHELL版是命令行版,在 '{KES_HOME}/ClientTools/guitools/KDts/KDTS-CLI'目录下。 其中 '{KES_HOME}'代表 Kingbase 数据库的安装根目录,本文中${KES_HOME}是/opt/kes/v9。KDTS 程序包括如下目录:
• bin: 启动脚本
• conf: 配置文件
• drivers: 数据库连接驱动
• jdk: jdk 目录
• lib: 程序包
• web: 页面文件
本文中主要使用KDTS工具的BS版完成数据库的迁移。
JDK版本
KDTS工具需要 JDK11 及以上的版本,JDK11随 KES 数据库的安装就已经安装了。
检查JDK版本:
[kingbase@node1 KDts]$ ${KES_HOME}/ClientTools/guitools/KDts/KDTS-WEB/jdk/bin/java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
[kingbase@node1 KDts]$
三、启动KDTS
cd /opt/kes/v9/ClientTools/guitools/KDts/KDTS-WEB/bin
./startup.sh
四、访问KDTS
http://ip:54523
用户名/密码:kingbase/kingbase

登录进去之后,界面如下:

五、迁移Oracle数据库中的数据到Kes中
5.1 环境说明
| 主机名 | ip地址 | 数据库类型 | 数据库版本 | 数据库用途 |
|---|---|---|---|---|
| root@11rac01 | 192.*.*.130 | oracle | 11.2.0.4 | 源数据库 |
| node1 | 192.*.*.10 | kes | V009R001C002B0014 | 目标数据库 |
5.2 迁移前准备
5.2.1 获取 Oracle 数据库的相关信息
- Oracle 数据库基本信息
获取源 Oracle 数据库的:
a. IP 地址;
b. 实例名;
c. 网络服务端口号;
d. 用户名/密码。
2)查询 Oracle 数据库编码方式
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
SQL>
- 查看数据量大小
select segment_name,bytes/1024/1024/1024 from dba_segments where owner='SCOTT' order by
2 desc ;
5.2.2 在目标 KingbaseES 上创建数据库和用户、模式
a. 创建与源 Oracle 用户(如 scott)同名的用户(scott);
kingbase=# create user scott with password '*****';
CREATE ROLE
b. 创建与源 Oracle(如 ORCL)同名的数据库(ORCL),属主为 scott;
kingbase=# create database orcl owner scott;
CREATE DATABASE
c. 创建与源 Oracle(与用户名相同 scott)同名的模式 scott,属主为 scott。
kingbase=# create schema scott authorization scott;
CREATE SCHEMA
5.3 新建数据源
5.3.1 源数据库

填入必选项后,点击“测试”

出现测试连接成功的提示后,点击“确定”

源数据库连接已经建立好,如下图:

5.3.2 目标数据库

填入必选项后,点击“测试”

出现测试连接成功的提示后,点击“确定”

目标数据库连接已经建立好,如下图:

5.4 数据迁移
5.4.1 新建迁移任务

选择数据源:输入任务名称、选择源数据库连接名、选择目标数据库连接名,点击“下一步”

选择模式:输入或者选择需要迁移的用户,目标模式,目标属主,点击“下一步”

选择迁移对象:继续点击“下一步”


配置参数:

5.4.2 数据迁移

迁移状态变成“完成”后,查看“详情”:

对象100%迁移完成,如下图:

可以下载excel报告。
六、数据验证
oracle数据库:

kes数据库:

经比对,oracle和kes中的数据完全一致。
总结
本文是在自己的虚拟机测试环境做的迁移,对象和数据类型都比较简单,而且数据量很少,所以没碰到什么问题,在实际生产过程中情况会复杂很多,迁移前请仔细阅读官网的迁移文档。
关于作者:
专注于Oracle、MySQL、PG、OpenGauss和国产数据库的研究,热爱生活,热衷于分享数据库技术。
微信公众号:飞天online
墨天轮:https://www.modb.pro/u/15197
如有任何疑问,欢迎大家留言,共同进步~~~




