《KingbaseES数据库》本篇文章所属专栏—持续更新中—欢迎订阅~
目录
第一章:前言
第二章:KDTS迁移工具简介
2.1 什么是KDTS?
2.2 源端数据库版本支持
2.3 源端数据库迁移对象支持
2.4 目标数据库版本支持
第三章:系统部署
3.1 准备工作
3.2 BS版部署详解
3.3 SHELL版部署详解
第四章:BS版使用说明
4.1 概览功能
4.2 数据源管理
4.3 迁移任务管理
4.4 迁移日志
4.5 迁移结果
4.6 线程池配置
4.7 个人中心
正文开始——
第一章:前言
本文档描述了金仓数据库迁移工具(KDTS)对同构、异构数据库数据迁移指导,旨在帮助用户快速迁移数据到KingbaseES中。金仓数据库迁移工具(KDTS)面向所有使用KingbaseES的用户,主要是数据库管理员和应用程序开发人员。
在数字化转型的浪潮中,数据库作为企业核心数据的载体,其稳定性、安全性和扩展性至关重要。随着国产化替代进程的加速,越来越多的企业开始将原有的Oracle、PostgreSQL等数据库迁移至国产数据库系统。金色数据库管理系统KingbaseES作为国内领先的数据库产品,提供了强大的Oracle兼容性和高性能特性,成为迁移的理想选择。
然而,数据库迁移是一项复杂且高风险的工程,涉及数据一致性、业务连续性、性能保障等多方面挑战。为此,中电科金仓推出了金仓数据库迁移工具(Kingbase Data Transformation Service,简称KDTS),旨在帮助用户高效、安全地将数据从Oracle、PostgreSQL等数据库迁移至KingbaseES。
第二章:KDTS迁移工具简介
2.1 什么是KDTS?
数据库数据迁移平台 (KDTS: Kingbase Data Transformation Service) 是为用户提供 Oracle、PostgreSQL 数据库数据迁移到 KingbaseES 数据库的数据迁移工具。KDTS数据库迁移工具的产品形态有以下两种:
-
BS版:通过浏览器以可视化界面方式设置配置项,完成数据迁移。
-
SHELL版:通过手动修改配置文件的方式设置配置项,完成数据迁移。
SHELL版本常用于以下三种场景:
-
堡垒机:通过堡垒机形式访问主机
-
远程终端访问:通过远程终端形式访问主机
-
系统未安装图形化界面:访问未安装图形化界面主机
注:专用机只提供SHELL版本。
2.2 源端数据库版本支持
KDTS支持多种源数据库版本的迁移,具体支持情况如下:
表2.1.1: 源端数据库支持版本
| 源端数据库 | 支持版本 |
|---|---|
| Oracle | 9i, 10g, 11g, 12c, 19c |
| PostgreSQL | 12 |
当前源端数据库版本支持Oracle的"19c"、"12c"、"11g"、"10g"、"9i"。根据您自己的Oracle数据库版本号选择合适的类型(查看Oracle数据库版本号可通过SQL语句:select * from v$version;)。
当前源端数据库版本支持PostgreSQL12。根据您自己的PostgreSQL数据库版本号选择合适的类型(查看PostgreSQL数据库版本号可通过SQL语句:select version();)。
2.3 源端数据库迁移对象支持
KDTS支持迁移丰富的数据库对象,确保业务的完整性:
表2.2.1: 源端数据库支持迁移对象
| 源端数据库 | 支持迁移对象 |
|---|---|
| Oracle | 表(包含指定表、排除指定表)、视图、序列、函数、存储过程、程序包、同义词、触发器、用户自定义类型、注释 |
| PostgreSQL | 表(包含指定表、排除指定表)、视图、序列、函数、存储过程、同义词、触发器、用户自定义类型、注释 |
2.4 目标数据库版本支持
表2.3.1: 目标数据库支持版本
| 目标数据库 | 支持版本 |
|---|---|
| KingbaseES | V7、V9R3、V9、V9C7、V9 |
当前目标端KingbaseES版本支持V7、V9R3、V9、V9C7、V9。根据您自己的KingbaseES版本号选择合适的类型(查看KingbaseES版本号信息可以通过语句:select version();)。
第三章:系统部署
3.1 准备工作
迁移程序从源数据库读取数据后写入目标数据库,因此需要一定量的内存作为中转缓存(并行度越高、表中单行数据越大(特别是大对象(LOB,Large Object)字段,如BLOB、CLOB、NCLOB等)需要的内存越多)。此外,还需要一定量的磁盘空间用于存储日志、脚本、报告等。
3.1.1 CPU配置要求
根据CPU架构类型(x64、AArch64等)和操作系统选择相匹配的JDK,并根据计算机CPU的核心数/线程数、可用内存并兼顾源库和目标库服务器的性能及负载情况给迁移程序规划和设置合理并行度以最大化提升迁移效率。
3.1.2 内存配置要求
启动脚本(bin/startup.sh或startup.bat)会自动根据计算机的可用内存自动计算分配给迁移程序Java虚拟机内存(可用内存的三分之二),如果条件允许,可适当手动增加分配给迁移程序的JVM内存(修改启动脚本中的JAVA_MEMORY)。
3.1.3 磁盘空间要求
检查计算机磁盘的剩余空间,应预留足够的磁盘空间(500MB以上,取决于迁移的对象和数据的多少)给迁移程序,多次迁移时应注意清理过时的内容(logs和results目录)。
3.2 BS版部署详解
3.2.1 迁移程序说明
迁移工具BS版随数据库一起打包发布,安装完数据库后,在'$(KES_HOME)/ClientTools/guitools/KDts/KDTS-WEB'目录下,其中'$(KES_HOME)'代表Kingbase数据库的安装根目录,程序包括如下目录:
-
bin: 启动脚本
-
conf: 配置文件
-
drivers: 数据库连接驱动
-
jdk: jdk目录
-
lib: 程序包
-
web: 页面文件
3.2.2 JDK配置
迁移程序需要JDK11及以上的版本,如果计算机中已有可用的JDK,配置迁移程序启动脚本(bin/startup.sh或startup.bat)中JAVA_PATH即可。如果没有,可以从OpenJDK网站https://jdk.java.***/archive/上下载与计算机操作系统和CPU架构相匹配的版本(如Linux/AArch64、Linux/x64、Windows/x64等),然后将JDK安装包解压为jdk目录。
注意:
-
应使用解压版本的JDK,也不要把JDK设置到系统环境变量里,以免影响计算机上的其它应用。
-
下载时应该选择最新更新的JDK版本,例如在下载页面上Open JDK 11有"11 GA(build 11+28)、11.0.1(build 11.0.1+13)、11.0.2(build 11.0.2+9)"等3个版本,应下载11.0.2。
3.2.3 启动命令配置
迁移程序的启动脚本在bin目录下,Linux平台为startup.sh,Windows平台为startup.bat。
3.2.3.1 配置启动脚本
-
设置JAVA_PATH
如果JDK没有安装在jdk目录,将如下的"JAVA_PATH"配置为实际的JDK安装目录。
-
Linux平台(startup.sh)
#JAVA路径
JAVA_PATH=$(BASE_PATH)"/jdk"
-
Windows平台(startup.bat)
rem JAVA路径
set "JAVA_PATH=%BASE_PATH%/jdk"
-
设置Java虚拟机内存
系统会根据服务器可用内存自动调整Java虚拟机内存,如果需要手动调整,将启动脚本中的JAVA_MEMORY参数前的注释去掉修改为调整值即可。
-
Linux平台(startup.sh)
# 如果需要手动设置,把下面的注释(#)去掉后设置即可
#JAVA_MEMORY=18G
#===============================================================
# JVM参数设置
#===============================================================
JAVA_OPT="
-server
-Dfile.encoding=UTF-8
-Djava.awt.headless=true
-Djava.***.preferIPv4Stack=true
-Dcache_enable=true
-Dconfig.path=${CONFIG_DIR}
-Djavax.xml.parsers.SAXParserFactory=***.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
--add-opens java.base/jdk.internal.loader=ALL-UNNAMED --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED
--add-opens java.base/java.***=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED
-Djava.security.properties=./lib/enableLegacyTLS.security
-Duser.country=*** -Duser.language=zh
-Djsse.enableCBCProtection=false
-Dthread.jvmSize=${JVM_SIZE}
-Xms${JAVA_MEMORY}
-Xmx${JAVA_MEMORY}
-
Windows平台(startup.bat)
rem 如果需要手动设置,把下面的注释(rem)去掉即可
rem set JAVA_MEMORY=13G
rem ================================================================
rem JVM参数设置
rem ================================================================
set "JAVA_OPT=-server -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Djava.***.preferIPv4Stack=true -Dcache_enable=true"
set "JAVA_OPT=%JAVA_OPT% -Dconfig.path=""%CONFIG_DIR%"" -Dlog.path=""%LOG_DIR%"" -Djavax.xml.parsers.SAXParserFactory=***.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl -Djava.security.properties=./conf/enableLegacyTLS.security -Duser.country=CW -Duser.language=zh -Djsse.enableCBCProtection=false"
set "JAVA_OPT=%JAVA_OPT% --add-opens java.base/jdk.internal.loader=ALL-UNNAMED --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED --add-opens java.base/java.***=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED"
set "JAVA_OPT=%JAVA_OPT% -XX:+UseG1GC -XX:G1ReservePercent=20 -XX:+Use***pressedOops -XX:+Use***pressedClassPointers -XX:G1HeapRegionSize=8M -XX:+SegmentedCodeCache -XX:+Print***mandLineFlags -XX:+ExplicitGCInvokesConcurrent"
set "JAVA_OPT=%JAVA_OPT% -Xms%JAVA_MEMORY% -Xmx%JAVA_MEMORY%"
3.2.3.2 执行启动脚本
-
Linux平台
startup.sh
注意:
-
Linux平台启动后程序在后台运行,如果需要查看运行日志,可使用tail命令:
tail -f logs/kdts-appconsole_2025-02-18_22-22-22.log -
如果需要停止运行中的程序,可执行shutdown.sh。
-
Windows平台
startup.bat
3.2.4 访问系统
-
使用谷歌浏览器进行访问
-
访问地址:http://localhost:54523/
-
默认用户名及密码:kingbase / Kb_DI@2019
-
会话保存策略:会话保存时间为一天
3.2.5 国际化设置
-
系统自动读取浏览器语言设置作为默认语言,支持中、英两种语言。
-
更换语言设置:谷歌浏览器打开设置,搜索语言,提示"根据您的偏好设置对语言进行排序",最顶部的语言即为当前浏览器所使用的语言。
-
执行启动脚本时,默认启动语言为中文,如果是英文环境,需要进行指定,命令如下:
# 指定中文环境
-Duser.country=CW -Duser.language=zh
# 指定英文环境
-Duser.country=US -Duser.language=en
3.3 SHELL版部署详解
3.3.1 迁移程序说明
迁移工具SHELL版随数据库一起打包发布,安装完数据库后,在'${KES_HOME}/ClientTools/guitools/KDts/KDTS-CLI'目录下,其中'${KES_HOME}/代表Kingbase数据库的安装根目录,程序包括如下目录:
-
bin: 启动脚本
-
conf: 配置文件(包括manual_script(手工脚本)、mapping_rule(映射规则)等子目录)
-
drivers: 数据库连接驱动(注意不同版本驱动的存放目录差异)
-
jdk: jdk目录
-
lib: 程序包
-
logs: 运行日志
-
results: 结果报告
-
version: 版本查看脚本
3.3.2 JDK配置
迁移程序需要JDK11及以上的版本,如果计算机中已有可用的JDK,配置迁移程序启动脚本(kdts-plus/bin/startup.sh或startup.bat)中JAVA_PATH即可。如果没有,可以从OpenJDK网站https://jdk.java.***/archive/上下载与计算机的操作系统和CPU架构相匹配的版本(如Linux/AArch64、Linux/x64、Windows/x64等),然后将JDK安装包解压为jdk目录。
注意:
-
应使用解压版本的JDK,也不要把JDK设置到系统环境变量里,以免影响计算机上的其它应用。
-
下载时应选择最新更新的JDK版本,例如在下载页面上Open JDK 11有"11 GA(build 11+28)、11.0.1(build 11.0.1+13)、11.0.2(build 11.0.2+9)"等3个版本,应下载11.0.2。
3.3.3 启动命令配置
迁移程序的启动脚本在bin目录下,Linux平台为startup.sh,Windows平台为startup.bat。
3.3.3.1 配置启动脚本
-
设置JAVA_PATH
如果JDK没有安装在jdk目录,将如下的"JAVA_PATH"配置为实际的安装目录。
-
Linux平台(startup.sh)
#JAVA路径
JAVA_PATH=${BASE_PATH}'/jdk"
-
Windows平台(startup.bat)
rem JAVA路径
set "JAVA_PATH=%BASE_PATH%/jdk"
-
设置Java虚拟机内存
系统会根据服务器可用内存自动调整Java虚拟机内存,如果需要手动调整,将启动脚本中的JAVA_MEMORY参数前的注释去掉修改为调整值即可。
-
Linux平台(startup.sh)
# 如果需要手动设置,把下面两行的注释 (#) 去掉后设置
#JAVA_MEMORY=12G
#===============================================================
# JVM参数设置
#===============================================================
KDTS_JAVA_OPT="
-server
-Dfile.encoding=UTF-8
-Djava.awt.headless=true
-Dcache_enable=true
-Dconfig.path=$(CONFIG_DIR)
-Dloader.path=$(LIB_DIR)
-Dlog.path=$(LOG_DIR)
-Dlogback.configurationFile=$(LOG_CONFIG_FILE)
-Dtask.name=$(NOW_STR)
-Djavax.xml.parsers.SAXParserFactory=***.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
-Djava.security.properties=./conf/enableLegacyTLS.security
-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.***=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED
-Xms$(JAVA_MEMORY)
-Xmx$(JAVA_MEMORY)
"
-
Windows平台(startup.bat)
rem 如果需要手动设置,把下面两行的注释(rem)去掉即可
rem set JAVA_MEMORY=6G
rem ================================================================
rem JVM参数设置
rem ================================================================
set "JAVA_OPT=-server -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dcache_enable=true"
set "JAVA_OPT=%JAVA_OPT% -Dconfig.path=""%CONFIG_DIR%"" -Dloader.path=""%LIB_DIR%"" -Dlog.path=""%LOG_DIR%"" -Dlogback.configurationFile=""%LOG_CONFIG_FILE%"" -Dtask.name=%NOW_STR% -Djavax.xml.parsers.SAXParserFactory=***.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl -Djava.security.properties=./conf/enableLegacyTLS.security -Djsse.enableCBCProtection=false"
set "JAVA_OPT=%JAVA_OPT% --add-opens java.base/jdk.internal.loader=ALL-UNNAMED --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED --add-opens java.base/java.***=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED"
set "JAVA_OPT=%JAVA_OPT% -XX:+UseG1GC -XX:G1ReservePercent=20 -XX:+Use***pressedOops -XX:+Use***pressedClassPointers -XX:G1HeapRegionSize=8M -XX:+SegmentedCodeCache -XX:+ExplicitGCInvokesConcurrent"
set "JAVA_OPT=%JAVA_OPT% -Xms%JAVA_MEMORY% -Xmx%JAVA_MEMORY%"
3.3.3.2 执行启动脚本
-
Linux平台
startup.sh
注意:
-
Linux平台启动后程序在后台运行,如果需要查看运行日志,可使用tail命令:
tail -f kdts-plus/logs/kdts-plus__2025-02-18__22-22-22.log -
如果需要停止运行中的程序,可执行shutdown.sh。
-
Windows平台
startup.bat
第四章:BS版使用说明
4.1 概览功能
以图表形式展示数据库连接总数、任务安排总数、作业执行总数及作业数与任务数在指定时间内每天执行的次数,便于您快速了解系统使用情况。
4.2 数据源管理
为了完成数据迁移工作,您需要管理数据源信息。数据源分为源数据库与目标数据库两种,包括添加和删除数据源连接信息,添加时填写数据库基本信息等。
4.2.1 源数据库管理
管理源数据库信息,在数据迁移时作为被迁移数据库使用。
4.2.1.1 列表显示
列表显示您所建立的所有数据源连接详细信息,包括:"连接名称"、"数据库"、"数据库类型"、"数据库版本"、"服务器地址"、"用户名"、"操作"。操作包括:"测试"、"编辑"、"删除"。
4.2.1.2 查询功能
在搜索框内输入连接名称关键字,点击"查询"按钮可快速找到对应的源数据库,支持模糊搜索。用于存在大量数据源连接时的快速检索。
4.2.1.3 新建源数据库连接
新建源数据库连接,填写需要的相关数据源连接信息,包括:"连接名称"、"数据库类型"、"数据库版本"、"服务器地址"、"端口"、"用户名"、"密码"、"数据库"、"驱动"、"URL"、"连接参数"。
-
连接名称:输入自定义的连接名称,用于标注此数据源连接。
-
数据库类型:在源数据库中支持"Oracle"数据库类型。
-
数据库版本:与数据库类型相关联的迁移工具支持迁移的数据库版本。
-
服务器地址:数据库所在服务器IP地址。
-
端口:数据库端口号。
-
用户名:操作数据库的用户名。
-
密码:与操作数据库用户名相匹配的密码。
-
数据库:操作数据库的名称。
-
驱动:数据库驱动信息,会根据数据库类型及数据库版本动态调整。
-
URL:完成"服务器地址"、"端口号"、"数据库"的键入,如果源数据库为Oracle数据库,需要选择"SID"、"ServiceName";如果源数据库为KingbaseES数据库,需要选择"JDBC"、"UnixDomainSocket",选择完成后,自动生成URL。
SID:数据库实例名用于和操作系统进行联系的标识。
ServiceName:数据库服务名,对于集群环境来说,每个节点的SID可能不一致,但ServiceName是一致的,简化客户端连接配置。
UnixDomainSocket用于实现同一主机上的进程间通信。当迁移工具与目标数据库(KingbaseES)安装在同一台Linux服务器上时可以使用,可提高数据传输效率。
-
连接参数:根据数据库做相应适配,可自行添加或删除参数。
4.2.1.4 测试连接
测试此数据源是否连接成功,连接成功将会弹出"测试连接成功"提示框,失败会显示出错原因,有助于您了解连接失败原因。
4.2.1.5 编辑连接
如果您需要修改数据库连接相关信息,可点击"编辑"按钮修改数据源连接信息,修改后要保证数据源连接依旧成功。
4.2.1.6 删除连接
点击"删除"按钮可删除此数据源连接信息。当需要批量删除数据源连接时,可勾选"连接名称"前的复选框选中需要删除的源数据库连接信息,点击"批量删除"即可。在未勾选任何数据库连接时"批量删除"呈不可选择状态。
4.2.2 目标数据库管理
管理目标数据库信息,在数据迁移时作为存放迁移数据的数据库使用。
4.2.2.1 列表显示
列表显示您所建立的所有目标数据源连接的详细信息,包括:"连接名称"、"数据库"、"数据库类型"、"数据库版本"、"服务器地址"、"用户名"、"操作"。操作包括:"测试"、"编辑"、"删除"。
4.2.2.2 查询功能
在搜索框内输入连接名称关键字,然后点击"查询"按钮可快速找到对应的目标数据库,支持模糊搜索。用于存在大量数据源连接时的快速检索。
4.2.2.3 新建目标数据库连接
新建目标数据库连接。完成新建目标数据库需要填写相关数据源连接信息,包括:"连接名称"、"数据库类型"、"数据库版本"、"服务器地址"、"端口"、"用户名"、"密码"、"数据库"、"驱动"、"URL"、"连接参数"。
-
连接名称:输入自定义的连接名称,用于标注此数据源连接。
-
数据库类型:在目标数据源中仅支持"KingbaseES"数据库类型。
-
数据库版本:与数据库类型相关联的系统支持的数据库版本。
-
服务器地址:数据库所在服务器IP地址。
-
端口:数据库端口号。
-
用户名:操作数据库的用户名。
-
密码:与操作数据库用户名相匹配的密码。
-
数据库:操作数据库的名称。
-
驱动:数据库驱动信息,会根据数据库类型及数据库版本动态调整。
-
URL:完成"服务器地址"、"端口号"、"数据库"的键入以及"JDBC"、"UnixDomainSocket"的选择,URL会自动生成。UnixDomainSocket用于实现同一主机上的进程间通信。当迁移工具与目标数据库(KingbaseES)安装在同一台Linux服务器上时可以使用,可提高数据传输效率。
-
连接参数:根据数据库做相应适配,可自行添加或删除参数。
4.2.2.4 测试连接
测试此数据源是否连接成功,连接成功将会弹出"测试连接成功"提示框,失败会显示出错原因,有助于您了解连接失败原因。
4.2.2.5 编辑连接
如果您的数据库修改了相关信息,可修改目标数据源连接信息以保证目标数据源连接依旧连接成功。
4.2.2.6 删除连接
点击"删除"可删除此目标数据源连接信息。当需要批量删除数据源连接时,可勾选"连接名称"前的复选框选中需要删除的源数据库连接信息,点击"批量删除"即可。在未勾选任何数据库连接时"批量删除"呈不可选择状态。
4.3 迁移任务管理
迁移任务管理可以操作或者看迁移的全过程。
4.3.1 迁移任务
管理迁移任务,以便于数据迁移操作。
4.3.1.1 列表显示
列表显示您所建立的所有迁移任务的详细信息,包括:"任务名称"、"源库"、"目标库"、"状态"、"启动时间"、"结束时间"、"操作"。"状态"栏显示任务结束执行是否成功,"启动时间"为迁移任务开始时间,"结束时间"为迁移任务结束时间。操作包括:"启动"、"重启"、"详情"、"编辑"、"删除"、"二次迁移"。
-
启动:执行从未执行过的迁移任务。
-
重启:执行迁移失败或者需要再次迁移的迁移任务。
-
详情:您可以查看当前迁移任务上次迁移结果的详细信息。如您上次迁移任务失败,可通过点击"详情"按钮打开"结果查看"页面,通过点击错误日志查看,有助于您找到失败原因,可修改迁移任务配置,以至下次重启时可以完成迁移。
-
编辑:如您需要修改迁移任务的模式、迁移对象和配置参数的信息,可以通过点击"编辑"按钮进行修改。
-
二次迁移:您可以对迁移失败的对象进行二次迁移。二次迁移以临时任务形式进行,迁移完成后,会合并迁移结果至此任务中。
4.3.1.2 迁移对象列表
在"详情"中点击成功数、失败数或忽略数即可显示迁移对象列表。点击"成功数"即显示"迁移对象成功列表"。可点击对象名查看具体DDL语句。点击"失败数"即显示"迁移对象失败列表"。可点击对象名查看具体DDL语句。点击"失败信息"可查看ERROR信息。
支持手动修改数据库对象迁移结果,可将迁移成功的对象修改为迁移失败,将迁移失败的对象修改为迁移成功,可用于手动迁移后同步迁移结果。
4.3.1.3 查询功能
在搜索框内输入任务名称关键字,点击"查询"可快速找到对应的迁移任务,支持模糊搜索。用于存在大量迁移任务时的快速检索。
4.3.1.4 新建迁移任务
新建迁移任务以进行数据迁移。新建任务包含四步:"选择数据源"、"选择模式"、"选择迁移对象"、"配置参数"。
4.3.1.4.1 选择数据源
填写自定义任务名称(任务名称不能重复),选择"源数据库"和"目标数据库",或者选择"新建数据源"后使用。
4.3.1.4.2 选择模式
根据您的数据迁移所需选择对应模式(如需选择模式在系统模式中可选中"包含系统模式"复选框)的表、视图、序列、函数、存储过程、程序包、同义词、触发器、用户自定义类型、注释及配置搜索路径。当模式较多时也可以通过左上方的查询框进行检索。请您至少选择一种模式,否则将收到错误提示,以至于不能完成新建任务。
在选择模式的前提下如您未选择"表",即没有迁移对象,则系统将认为您不需要迁移对象,将提示您直接跳过"选择迁移对象"进入"配置参数"。
搜索路径配置需要手动填写源库搜索路径及目标库搜索搜索路径。
4.3.1.4.3 选择迁移对象
通过已选模式选择您需要迁移数据的表,模式较多时可在已选模式搜索框内输入模式名关键字进行快速检索。可迁移此模式下全部表,也可以指定或排除部份表,当您选择"包含指定表"或"排除指定表"时,请您通过"从列表选择"、"从文件导入"或者在输入框内输入表名将数据添加到包含列表中,如您未添加数据,则会提示错误导致无法进行下一步并完成新建任务。
当您点击"包含指定表"时也可选择多种方式。可直接在输入框内填写表名,多个表用","分割,回车确认;"从列表选择"可在模式中选择指定表;如您要"从文件导入",可点击"下载导入模板",根据导入模板规则填写,然后从文件导入该模板。当您需要"排除指定表"时,同指定部份表相同操作,但结果相反。
从列表选择表时,可选择对应模式、检索表名关键字、数据条数限制进行快速检索对应的表。点击"添加"按钮后加入到已选列表,当您想要移除部分表时可以选择对应的表点击"移除"按钮取消表。选择完成后点击确定。
4.3.1.4.4 配置参数
可以通过对参数的更改获得预估的数据迁移结果。其中迁移配置包括:源数据库配置:"游标提取记录数设置"、"大表拆分设置"、"手工脚本设置"、"kdms设置"、"字符集配置"及"其他设置"。目标数据库配置:"表默认处理方式","非对象设置","表数据读取和写入","无日志表方式迁移配置","写任务设置","其他设置"。
源数据库配置:
-
表数据读取和写入:对表数据的读取和写入制定规则,可操作项包括"源库游标读取记录数"(默认是100)、"批量写入目标库记录数"(默认是1000)、"每次批量提交大小"(默认是100MB)、"LOB字段预读取大小"(默认是4000Byte)。
-
大表拆分阈值依据:对大表进行拆分迁移,设置拆分界限。
表4.3.1: 大表拆分阈值依据
| 操作项 | 备注 |
|---|---|
| 拆分阈值行数 | 根据行数拆分大表进行迁移 |
| 拆分阈值大小 | 根据表大小拆分进行迁移 |
| 拆分最大块数 | 设置块数上限 |
| 含大对象表游标读取记录数 | 设置游标读取记录数上限 |
-
表排序依据:对迁移的表进行排序,可通过"按行数和大字段大小交替"、"行数"、"大小进行排序"(默认是按行数和大字段大小交替)。
-
设置表名、列名大小写:您根据迁移需求将迁移表的表名和列名改为大写、小写或者与源数据库相同(默认是不变)。
-
数据库连接数设置:您可以限制迁移程序对源数据库和目标数据库的最大连接数(默认是100)。
-
kdms转换设置:开启后可以使用kdms对视图、函数、存储过程、包、触发器进行转换后迁移,默认关闭。开启后需要维护正确的kdms信息。
目标数据库配置:
-
表默认处理方式:可以设置是否清空表数据,删除已存在的对象(表、视图等),使用insert方式插入数据。
-
非对象设置:是否配置自动转换对象名。
-
无日志表方式迁移配置:配置是否按照unlogged表迁移,是否将unlogged表重置为普通表,是否执行检查点。
-
写任务设置:写任务相关的设置,配置写任务超时时长,超时重启删除迁移过的数据。
-
其他设置:配置一些与迁移配置相关的内容。数据类型映射包括"源数据类型"、"目标数据类型"、"源库最小版本"。
线程配置:可以设置"线程池信息"、"表数据读线程池"、"表数据写线程池"、"元数据读线程池"、"元数据写线程池"、"表数据读取线程池(逆序)"、"表数据写线程池(逆序)"、"元数据读线程池(逆序)"、"元数据写线程池(逆序)"、"大数据对象(CLOB和BLOB)写线程池"、"线程池状态收集汇总配置"、"线程状态收集汇总配置"、"线程堆栈收集配置"。默认为关闭状态,关闭时则使用全局线程池配置,开启后,迁移任务使用独立线程池配置。
4.3.1.4.5 保存或保存并迁移
您可将此任务作为预迁移任务点击"保存",或者作为执行任务点击"保存并迁移"。
迁移完成:迁移结束"状态"栏显示"完成",则迁移任务成功。
迁移失败:迁移结束"状态"栏显示"失败",则迁移任务失败。失败后可点击详情查看日志有助于解决问题。
4.3.1.5 删除迁移任务
点击"删除"按钮可删除此迁移任务。当迁移任务过多且需要删除大量迁移任务时,可勾选"任务名称"前的复选框将需要删除的迁移任务全部选中,点击"批量删除"即可,在未勾选任何迁移任务时"批量删除"呈不可选择状态。
4.3.2 处理中任务
"处理中"功能的工作区显示正在进行的迁移任务。可点击"停止"按钮取消该任务(停止任务将导致迁移任务失败)。点击"进度"按钮可查看该处理中的任务完成进度。在"进度查看"中也可以点击"停止"按钮取消此任务,或点击"删除"按钮,直接删除此任务。
4.3.3 迁移完成
"迁移完成"功能的列表页面显示已经结束并成功的迁移任务。
4.3.4 迁移失败
"迁移失败"功能的工作区页面显示迁移失败的任务。
4.3.5 未启动
"未启动"功能的工作区显示新建的迁移任务,但并未启动过的任务。
4.4 迁移日志
迁移日志打印迁移任务执行后的日志,具体可分为"系统日志"、"Error日志"、"Info日志"。
4.4.1 系统日志
"系统日志"显示error、warn、info级别的日志。如需自动滚动日志可以点击"自动滚动"复选框。
4.4.2 Error日志
"Error日志"仅显示error级别的日志。在迁移任务失败时有助于帮您找到错误原因。如需自动滚动日志可以点击"自动滚动"复选框。
4.4.3 Info日志
"Info日志"仅显示info级别的日志。如需自动滚动日志可以点击"自动滚动"复选框。
4.5 迁移结果
"迁移结果"功能的工作区包括"任务执行批次"、"迁移对象"、"总数"、"成功数"、"失败数"、"略过数"、"操作"。您可以查看历史迁移任务执行的每次记录,以及每次迁移的对象、成功数、失败数、查看失败任务的错误日志。
4.6 线程池配置
线程配置可以设置"线程池信息"、"表数据读线程池"、"表数据写线程池"、"元数据读线程池"、"元数据写线程池"、"表数据读取线程池(逆序)"、"表数据写线程池(逆序)"、"元数据读线程池(逆序)"、"元数据写线程池(逆序)"、"大数据对象(CLOB和BLOB)写线程池"、"线程池状态收集汇总配置"、"线程状态收集汇总配置"、"线程堆栈收集配置"。默认为关闭状态,关闭时则使用全局线程池配置,开启后,迁移任务使用独立线程池配置。
注意:全局线程池配置归所有迁移任务所共享,迁移任务默认采用全局线程池配置。如果迁移任务想采用独立的线程池,需要在迁移任务线程池配置中将开关打开并设置相关线程池信息。
4.7 个人中心
展示账号信息及修改登录密码。
4.7.1 账号信息
展示账号基本信息,包括:账号、姓名、邮箱、地址、账号锁定、创建时间信息。
4.7.2 修改密码
修改账号登录密码,输入原密码、新密码及确定密码,完成账号密码修改。
4.7.3 用户管理
管理员可以管理用户账号,包括创建、编辑、重置密码、删除等操作。
篇幅有限,下节继续介绍!