KingbaseES 支持应用系统的离线迁移和在线迁移。
离线迁移是指,应用系统在离线状态下,源数据库服务器提供服务时,通过KingbaseES 的迁移工具将源数据库的对象定义和数据搬迁到目的数据库。
在线迁移是指,应用系统处于在线状态下,源数据库服务器持续提供服务时,通过KingbaseES 的迁移工具完成对象和数据的搬迁。
KingbaseES 提供了 KDTS 和 KFS 2个工具完成迁移数据任务。 KDTS 是 KingbaseES 提供的工具,可以用于离线迁移,并完成数据库中所有对象定义的迁移和数据的迁移。 KFS 是一个单独的同步工具,可以应用于数据的同步,主要用于表结构和表数据的初始搬迁,以及初始搬迁之后数据的实时同步。 KDTS 和 KFS 一起部署,可以完成一个大型系统的在线迁移。

支持数据源

今天我就使用KDTS来完成sqlserver到kingbase的测试
1.查看kingbase当前模式和版本
test=# show database_mode;
database_mode
---------------
oracle
(1 row)
test=# select version();
version
--------------------------------------------------------------------------------
--------------------------------------
KingbaseES V009R001C002B0014 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.
5 20150623 (Red Hat 4.8.5-28), 64-bit
(1 row)
-- 新建数据库
test=# create database virdb;
CREATE DATABASE
test=#
2.启动KDTS-web端工具
[kingbase@dba236 bin]$ cd /yk/data/Kingbase/kbs/ClientTools/guitools/KDts/KDTS-WEB/bin
[kingbase@dba236 bin]$ ll
total 28
-rw-rw-r-- 1 kingbase kingbase 478 Aug 27 03:34 shutdown.bat
-rwxrwxr-x 1 kingbase kingbase 348 Aug 27 03:34 shutdown.sh
-rw-rw-r-- 1 kingbase kingbase 10095 Aug 27 03:34 startup.bat
-rwxrwxr-x 1 kingbase kingbase 6993 Aug 27 03:34 startup.sh
[kingbase@dba236 bin]$ ./startup.sh
------------------------------------------------------------------------
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)
------------------------------------------------------------------------
================================================ 2024-12-28_20-46-43 ================================================
kdts-app-console v1.0.3.322
jar name: kdts-app-console-1.0.3.322.jar
base path: /yk/data/Kingbase/kbs/ClientTools/guitools/KDts/KDTS-WEB
bin path: /yk/data/Kingbase/kbs/ClientTools/guitools/KDts/KDTS-WEB/bin
config path: /yk/data/Kingbase/kbs/ClientTools/guitools/KDts/KDTS-WEB/conf
log path: /yk/data/Kingbase/kbs/ClientTools/guitools/KDts/KDTS-WEB/logs/kdts-app-console_2024-12-28_20-46-43.log
java path: /yk/data/Kingbase/kbs/ClientTools/guitools/KDts/KDTS-WEB/jdk
JAVA_OPT: -server -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dcache_enable=true -Dconfig.path=/yk/data/Kingbase/kbs/ClientTools/guitools/KDts/KDTS-WEB/conf -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl -Djava.security.properties=./conf/enableLegacyTLS.security -Duser.country=CN -Duser.language=zh -Djsse.enableCBCProtection=false --add-opens java.base/jdk.internal.loader=ALL-UNNAMED --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./logs/ -Xms8G -Xmx8G -XX:+UseG1GC -XX:G1ReservePercent=20 -XX:+UseCompressedOops -XX:+UseCompressedClassPointers -XX:G1HeapRegionSize=8M -XX:+SegmentedCodeCache -XX:+PrintCommandLineFlags -XX:+ExplicitGCInvokesConcurrent
FreeMemory=5381M JavaMemory=8G
cpu_arch=x86_64
startup command: /yk/data/Kingbase/kbs/ClientTools/guitools/KDts/KDTS-WEB/jdk/bin/java -server -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dcache_enable=true -Dconfig.path=/yk/data/Kingbase/kbs/ClientTools/guitools/KDts/KDTS-WEB/conf -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl -Djava.security.properties=./conf/enableLegacyTLS.security -Duser.country=CN -Duser.language=zh -Djsse.enableCBCProtection=false --add-opens java.base/jdk.internal.loader=ALL-UNNAMED --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./logs/ -Xms8G -Xmx8G -XX:+UseG1GC -XX:G1ReservePercent=20 -XX:+UseCompressedOops -XX:+UseCompressedClassPointers -XX:G1HeapRegionSize=8M -XX:+SegmentedCodeCache -XX:+PrintCommandLineFlags -XX:+ExplicitGCInvokesConcurrent -jar /yk/data/Kingbase/kbs/ClientTools/guitools/KDts/KDTS-WEB/lib/kdts-app-console-1.0.3.322.jar > /yk/data/Kingbase/kbs/ClientTools/guitools/KDts/KDTS-WEB/logs/kdts-app-console_2024-12-28_20-46-43.log 2>&1 &
application pid: 1108
See "../logs/kdts-app-console_2024-12-28_20-46-43.log" or use the command-line "tail -f ../logs/kdts-app-console_2024-12-28_20-46-43.log" for more detail.
3. 登录KDTS
web打开KDTS,网址:http://10.10.100.236:54523/#/login,默认账号密码 kingbase

登录首页概览,很贴心的有服务器的内存CPU使用情况
当加入任务会,可以展示迁移作业情况

4.建立迁移任务并执行迁移
4.1 数据源连接
支持多种常用数据库

4.2 目标端连接

4.3 配置迁移任务




4.4 配置完成后,启动任务

5. 任务处理中

6. 查看日志
系统日志:

info日志:

7. 参考文档
https://bbs.kingbase.com.cn/docHtml?recId=d16e9a1be637c8fe4644c2c82fe16444&url=aHR0cHM6Ly9iYnMua2luZ2Jhc2UuY29tLmNuL2tpbmdiYXNlLWRvYy92OS9pbnN0YWxsLXVwZGF0YS9pbnN0YWxsLWxpbnV4L2luZGV4Lmh0bWw
https://bbs.kingbase.com.cn/docHtml?recId=d16e9a1be637c8fe4644c2c82fe16444&url=aHR0cHM6Ly9iYnMua2luZ2Jhc2UuY29tLmNuL2tpbmdiYXNlLWRvYy92OS9pbnN0YWxsLXVwZGF0YS9pbnN0YWxsLWxpbnV4L2luZGV4Lmh0bWw




