KDTS迁移工具使用指南.pdf
KDTS 迁移工具使用指南 金仓数据库管理系统 KingbaseES 文档版本:V9(V009R001C001B0024) 发布日期:2023 年 10 月 12 日 北京人大金仓信息技术股份有限公司 目 目 录 录 第 1 章 前言 1 1.1 适用读者 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 相关文档 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3 术语 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.4 手册约定 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 第 2 章 简介 3 2.1 源端数据库版本支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 源端数据库迁移对象支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 目标数据库版本支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.4 系统版本说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 第 3 章 系统部署 3.1 3.2 3.3 准备工作 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.1.1 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.1.2 内存 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.1.3 磁盘 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 BS 版部署 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.2.1 迁移程序说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.2.2 JDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.2.3 启动命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.2.3.1 配置启动脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2.3.2 执行启动脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2.4 访问 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2.5 国际化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 SHELL 版部署 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.3.1 迁移程序说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.3.2 JDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.3.3 启动命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.3.3.1 配置启动脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.3.3.2 执行启动脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 I 目 第 4 章 BS 版使用说明 录 15 4.1 概览 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.2 数据源管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 源数据库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.2.1.1 列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.2.1.2 查询 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.2.1.3 新建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.2.1.4 测试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.2.1.5 编辑 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.2.1.6 删除 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 目标数据库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.2.2.1 列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.2.2.2 查询 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4.2.2.3 新建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2.2.4 测试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.2.5 编辑 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.2.6 删除 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 迁移任务管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 迁移任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.3.1.1 列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.3.1.2 迁移对象列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.3.1.3 查询 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3.1.4 新建 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.3.1.4.1 选择数据源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.3.1.4.2 选择模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.3.1.4.3 选择迁移对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.3.1.4.4 配置参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.3.1.4.5 保存或保存并迁移 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 删除迁移任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.3.2 处理中 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.3.3 迁移完成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.3.4 迁移失败 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.3.5 未启动 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.2.1 4.2.2 4.3 4.3.1 4.3.1.5 4.4 迁移日志 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.4.1 系统日志 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.4.2 Error 日志 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.4.3 Info 日志 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.5 迁移结果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.6 线程池配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.7 个人中心 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.7.1 账号信息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.7.2 修改密码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 II 目 第 5 章 SHELL 版使用说明 5.1 录 52 配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.1.1 源库类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.1.2 运行模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.1.3 源数据库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.1.3.1 源库连接设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.1.3.2 包含或排除的模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.1.3.3 大表拆分设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.1.3.4 表过滤设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.1.3.5 包含或排除的对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.1.3.6 要迁移的对象类别 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5.1.3.7 kdms 转换设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.1.3.8 杂项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.1.3.9 数据对比设置(仅“数据对比”运行模式时有效) . . . . . . . . . . . . . . . . . . . . 58 5.1.3.10 源数据库最大连接数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 目标数据库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.1.4.1 目标库连接设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.1.4.2 杂项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.1.4.3 数据对比设置(仅“数据对比”运行模式时有效) . . . . . . . . . . . . . . . . . . . . 60 5.1.4.4 目标数据库最大连接数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.1.5 线程池线程数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.1.6 其他配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.1.4 5.2 运行日志 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.3 迁移报告 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.4 KingbaseES 优化配置参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 第 6 章 GIS 迁移步骤说明 71 迁移前准备 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 源库是 ArcGIS / GeoScene 平台的数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.2 KDTS 配置迁移任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 6.3 执行迁移任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 6.4 迁移后注册数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.5 常见问题 77 6.1 6.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 第 7 章 注意事项 80 7.1 BS 版 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 7.2 SHELL 版 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 7.2.1 迁移顺序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 7.2.2 大表拆分 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 7.2.3 并行计算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 7.2.3.1 SQLServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 7.2.3.2 达梦数据库(DM8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 集群异步模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 7.2.4 III 目 录 7.2.5 大对象数据 (LOB,Large Object) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 7.2.6 网络抖动 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 7.2.7 无日志表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 7.2.8 国际化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 第 8 章 部署常见问题 84 版权声明 85 服务周期承诺 86 IV 第 1 章 前言 1 第 章 前言 本文档描述了金仓数据库迁移工具(KDTS)对同构、异构数据库数据迁移指导,旨在帮助用户快速迁移数据到 KingbaseES 中。 前言部分包含以下主题: • 适用读者 • 相关文档 • 术语 • 手册约定 1.1 适用读者 金仓数据库迁移工具(KDTS)面向所有使用 KingbaseES 的用户,主要是数据库管理员和应用程序开发人员。 1.2 相关文档 无 1.3 术语 无 1.4 手册约定 本文档中可能出现“注意、提示、警告、另请参阅”等标志,它们所代表的含义如下: 1 第 1 章 前言 注意: 用于突出重要/关键信息、最佳实践等。 提示: 用于突出小窍门、捷径等。 警告: 用于传递设备或环境安全警示信息,若不避免,可能会导致设备损坏、数据丢失、设备性能降低或其 它不可预知的结果。 另请参阅: 用于突出参考、参阅等。 以下程序代码书写约定适用于本文档: 符号 说明 [] 表示包含一个或多个可选项。不需要输入中括号本身。 {} 表示包含两个以上(含两个)的候选,必须在其中选取一个。不需要输入花括号本身。 | 分割中括号或者花括号中的两个或两个以上选项。不需要输入“|”本身。 ... 表示其之前的元素可以被重复。 斜体 表示占位符或者需要提供特定值的变量。 大写 表示系统提供的元素,以便与用户定义的元素相互区分。除出现在方括号中的元素外,应当按 照顺序逐字输入。当然,部分元素在系统中是大小写不敏感的,因此用户可以根据系统说明以 小写形式输入。 小写 表示由用户提供的元素。 2 第 2 章 简介 2 第 章 简介 数据库数据迁移平台 (KDTS: Kingbase Data Transformation Service) 是为用户提供 Oracle、Mysql、 SQLServer、Gbase、PostgreSQL、DM、KingbaseES 数据库数据迁移到 KingbaseES 数据库的数据迁移工具。 本章节包括的主题如下: • 源端数据库版本支持 • 源端数据库迁移对象支持 • 目标数据库版本支持 • 系统版本说明 2.1 源端数据库版本支持 表 2.1.1: 源端数据库支持版本 源端数据库 支持版本 Oracle 9i、10g、11g、12c、19c MySQL 5.X、8.X SQLServer 2000、2005、2008、2012、2014、2016、2017、2019 Gbase 8s、8g PostgreSQL 12 DM 8 Db2 11 神通 (OSCAR) 7 KingbaseES V7、V8R3、V8R6、V8R6C7、V9 3 第 2 章 简介 当前源端数据库版本支持 Oracle 的“19c”、“12c”、“11g”、“10g”、“9i”。根据您自己的 Oracle 数据 库版本号选择合适的类型(查看 Oracle 数据库版本号可通过 SQL 语句:select * from v$version;)。 当前源端数据库版本支持 MySQL 的“5.1”,“5.X”,“8.X”。根据您自己的 MySQL 数据库版本号选择合 适的类型(查看 MySQL 数据库版本号可通过 SQL 语句:select version();)。 当前源端数据库版本支持 SQLServer 的“2000”、“2005”、“2008”、“2012”、“2014”、“2016”、“2017”、“201 根据您自己的 SQLServer 数据库版本号选择合适的类型(查看 SQLServer 数据库版本号可以通过 SQL 语句:select @@version;)。 当前源端数据库版本支持 PostgreSQL12。根据您自己的 PostgreSQL 数据库版本号选择合适的类型(查看 PostgreSQL 数据库版本号可通过 SQL 语句:select version();)。 当前源端数据库版本支持 DM8。根据您自己的 DM 数据库版本号选择合适的类型(查看 DM 数据库版本号信息 可以通过语句:select * from v$version; select * from v$instance;)。 当前源端数据库版本支持 Gbase 的“8s”、“8g”。根据您自己的 Gbase 数据库版本号选择合适的类型(查看 Gbase 数据库版本号信息可以通过语句:select * from v$version;)。 当前源端数据库版本支持 Db2 11。根据您自己的 Db2 数据库版本号选择合适的类型(查看 Db2 数据库版本号 信息可以通过语句:”select service_level from sysibmadm.env_inst_info”)。 当前源端数据库版本支持神通 (OSCAR) 7。根据您自己的神通数据库版本号选择合适的类型(select version();)。 当前源端 KingbaseES 数据库版本支持 V7、V8R3、V8R6、V8R6C7、V9。根据您自己的 KingbaseES 版本号选 择合适的类型(查看 KingbaseES 版本号信息可以通过语句:select version();)。 后续会陆续开放其他数据库(如 Sybase)及现有数据库其他版本的支持。 4 第 2 章 简介 2.2 源端数据库迁移对象支持 表 2.2.1: 源端数据库支持迁移对象 源端数据库 支持迁移对象 Oracle 表(包含指定表、排除指定表)、视图、序列、函数、存储过程、程序包、同义词、触发器、用户 自定义类型、注释 MySQL 表(包含指定表、排除指定表)、视图、函数、存储过程、触发器、用户自定义类型、注释 SQLServer 表(包含指定表、排除指定表)、视图、序列、函数、存储过程、同义词、触发器、用户自定义类 型、注释 表(包含指定表、排除指定表)、视图、序列、函数、存储过程、同义词、触发器、用户自定义类 Gbase 型、注释 PostgreSQL 表(包含指定表、排除指定表)、视图、序列、函数、存储过程、同义词、触发器、用户自定义类 型、注释 表(包含指定表、排除指定表)、视图、序列、函数、存储过程、程序包、同义词、触发器、用户 DM 自定义类型、注释 表(包含指定表、排除指定表)、视图、序列、函数、存储过程、同义词、触发器、用户自定义类 Db2 型、注释 神通 (OS- 表(包含指定表、排除指定表)、视图、序列、函数、存储过程、同义词、触发器、注释 CAR) KingbaseES 表(包含指定表、排除指定表)、视图、序列、函数、存储过程、程序包、同义词、触发器、用户 自定义类型、注释 2.3 目标数据库版本支持 表 2.3.1: 目标数据库支持版本 目标数据库 支持版本 KingbaseES V7、V8R3、V8R6、V8R6C7、V9 当前目标端 KingbaseES 版本支持 V7、V8R3、V8R6、V8R6C7、V9。根据您自己的 KingbaseES 版本号选择合 适的类型(查看 KingbaseES 版本号信息可以通过语句:select version();)。 5 第 2 章 简介 2.4 系统版本说明 KDTS 数据库迁移工具的产品形态有以下两种: • BS 版 通过浏览器以可视化界面方式设置配置项,完成数据迁移。 • SHELL 版 通过手动修改配置文件的方式设置配置项,完成数据迁移。 SHELL 版本常用于以下三种场景: – 堡垒机:通过堡垒机形式访问主机 – 远程终端访问:通过远程终端形式访问主机 – 系统未安装图形化界面:访问未安装图形化界面主机 注:专用机只提供 SHELL 版本。 6 第3章 系统部署 3 第 章 系统部署 本章节包括的主题如下: • 准备工作 • BS 版部署 • SHELL 版部署 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)。 7 第3章 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.net/archive/ 上下载与计 算机操作系统和 CPU 架构相匹配的版本(如 Liunx/AArch64、Linux/x64、Windows/x64 等),然后将 JDK 安装 包解压为 jdk 目录。 注意: 1. 应使用解压版本的 JDK,也不要把 JDK 设置到系统环境变量里,以免影响计算机上的其它应用。 2. 下载时应选择最新更新的 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。 8 第3章 3.2.3.1 系统部署 配置启动脚本 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" 2. 设置 Java 虚拟机内存 系统会根据服务器可用内存自动调整 Java 虚拟机内存,如果需要手动调整,将启动脚本中的 JAVA_MEMORY 参数前的注释去掉修改为调整值即可。 • Linux 平台(startup.sh) # 如果需要手动设置,把下面的注释(#)去掉后设置即可 #JAVA_MEMORY=18G #======================================================= # JVM 参数设置 #======================================================= JAVA_OPT=" -server -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dcache_enable=true -Dconfig.path=${CONFIG_DIR} -Djavax.xml.parsers.SAXParserFactory=com.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.net=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED -Djava.security.properties=./lib/enableLegacyTLS.security -Duser.country=CN -Duser.language=zh -Djsse.enableCBCProtection=false -Dthread.jvmSize=${JVM_SIZE} -Xms${JAVA_MEMORY} -Xmx${JAVA_MEMORY} " 9 第3章 系统部署 • 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.net.preferIPv4Stack=true Dcache_enable=true" set "JAVA_OPT=%JAVA_OPT% -Dconfig.path=^"%CONFIG_DIR%^" -Dlog.path=^"%LOG_DIR%^" -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" 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.net=ALL-UNNAMED --add-opens java.base/java.lang. invoke=ALL-UNNAMED" set "JAVA_OPT=%JAVA_OPT% -XX:+UseG1GC -XX:G1ReservePercent=20 -XX:+UseCompressedOops -XX: +UseCompressedClassPointers -XX:G1HeapRegionSize=8M -XX:+SegmentedCodeCache -XX:+PrintCommandLineFlags -XX:+ExplicitGCInvokesConcurrent" set "JAVA_OPT=%JAVA_OPT% -Xms%JAVA_MEMORY% -Xmx%JAVA_MEMORY%" 执行启动脚本 3.2.3.2 • Linux 平台 startup.sh 注意: 1. Linux 平台启动后程序在后台运行,如果需要查看运行日志,可使用 tail 命令:tail -f logs/ kdts-appconsole_2022-06-24_22-22-22.log 2. 如果需要停止运行中的程序,可执行 shutdown.sh。 • Windows 平台 startup.bat 3.2.4 访问 1. 使用谷歌浏览器进行访问 10 第3章 系统部署 2. 访问地址:http://localhost:54523/ 3. 默认用户名及密码:kingbase / kingbase 4. 会话保存策略:会话保存时间为一天 3.2.5 国际化 1. 系统自动读取浏览器语言设置作为默认语言,支持中、英两种语言. 2. 更换语言设置:谷歌浏览器打开设置,搜索语言,提示“根据您的偏好设置对语言进行排序”,最顶部的语言 即为当前浏览器所使用的语言。 3. 执行启动脚本时,默认启动语言为中文,如果是英文环境,需要进行指定,命令如下: # 指定中文环境 -Duser.country=CN -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(映射规则)等子目录,详见 readme.md) • drivers: 数据库连接驱动(注意不同版本驱动的存放目录差异,详见 readme.md) • jdk: jdk 目录 • lib: 程序包 • logs: 运行日志 • results: 结果报告 • version: 版本查看脚本 11 第3章 系统部署 3.3.2 JDK 迁移程序需要 JDK11 及以上的版本,如果计算机中已有可用的 JDK,配置迁移程序启动脚本(kdts-plus/bin/ startup.sh 或 startup.bat)中 JAVA_PATH 即可。如果没有,可从 OpenJDK 网站 https://jdk.java.net/archive/ 上 下载与计算机的操作系统和 CPU 架构相匹配的版本(如 Liunx/AArch64、Linux/x64、Windows/x64 等),然后将 JDK 安装包解压为 jdk 目录。 注意: 1. 应使用解压版本的 JDK,也不要把 JDK 设置到系统环境变量里,以免影响计算机上的其它应用。 2. 下载时应选择最新更新的 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 配置启动脚本 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" 2. 设置 Java 虚拟机内存 系统会根据服务器可用内存自动调整 Java 虚拟机内存,如果需要手动调整,将启动脚本中的 JAVA_MEMORY 参数前的注释去掉修改为调整值即可。 • Linux 平台(startup.sh) # 如果需要手动设置,把下面两行的注释(#)去掉后设置 #JAVA_MEMORY=12G #======================================================= 12 第3章 系统部署 # 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=com.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.net=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=com.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.net=ALL-UNNAMED --add-opens java.base/java.lang. invoke=ALL-UNNAMED" set "JAVA_OPT=%JAVA_OPT% -XX:+UseG1GC -XX:G1ReservePercent=20 -XX:+UseCompressedOops -XX: +UseCompressedClassPointers -XX:G1HeapRegionSize=8M -XX:+SegmentedCodeCache -XX: +ExplicitGCInvokesConcurrent" set "JAVA_OPT=%JAVA_OPT% -Xms%JAVA_MEMORY% -Xmx%JAVA_MEMORY%" 13 第3章 3.3.3.2 系统部署 执行启动脚本 • Linux 平台 startup.sh 注意: 1. Linux 平台启动后程序在后台运行,如果需要查看运行日志,可使用 tail 命令:tail -f kdts-plus/ logs/ kdtsplus_2022-06-24_22-22-22.log 2. 如果需要停止运行中的程序,可执行 shutdown.sh。 • Windows 平台 startup.bat 14 第4章 4 第 章 BS 版使用说明 BS 版使用说明 本章节包括的主题如下: • 概览 • 数据源管理 • 迁移任务管理 • 迁移结果 • 线程池配置 • 个人中心 4.1 概览 以图表形式展示数据库连接总数、任务安排总数、作业执行总数及作业数与任务数在指定时间内每天执行的次 数,便于您快速了解系统使用情况。 15 第4章 4.2 BS 版使用说明 数据源管理 为了完成数据迁移工作,您需要管理数据源信息。数据源分为源数据库与目标数据库两种,包括添加和删除数据 源连接信息,添加时填写数据库基本信息等。 4.2.1 源数据库 管理源数据库信息,在数据迁移时作为被迁移数据库使用。 4.2.1.1 列表 列表显示您所建立的所有数据源连接详细信息,包括:“连接名称”、“数据库”、“数据库类型”、“数据库 版本”、“服务器地址”、“用户名”、“操作”。 操作包括:“测试”、“编辑”、“删除”。 16 第4章 4.2.1.2 BS 版使用说明 查询 在搜索框内输入连接名称关键字,点击“查询”按钮可快速找到对应的源数据库,支持模糊搜索。 用于存在大量数据源连接时的快速检索。 17 第4章 4.2.1.3 BS 版使用说明 新建 新建源数据库连接,填写需要的相关数据源连接信息,包括:“连接名称”、“数据库类型”、“数据库版 本”、“服务器地址”、“端口”、“用户名”、“密码”、“数据库”、“驱动”、“URL”、“连接参数”。 • 连接名称: 输入自定义的连接名称,用于标注此数据源连接。 • 数据库类型: 在 源 数 据 库 中 支 持 “Oracle”、“MySQL”、“SQLServer”、“Db2”、“Gbase”、“PostgreSQL”、“DM”、“KingbaseES”数据库类型。 • 数据库版本: 与数据库类型相关联的迁移工具支持迁移的数据库版本。 • 服务器地址: 数据库所在服务器 IP 地址。 • 端口: 数据库端口号。 • 用户名: 操作数据库的用户名。 • 密码: 与操作数据库用户名相匹配的密码。 18 第4章 BS 版使用说明 • 数据库: 操作数据库的名称。 • 驱动: 数据库驱动信息,会根据数据库类型及数据库版本动态调整。 • URL: 完 成 “服 务 器 地 址”、“端 口 号”、“数 据 库” 的 键 入, 如 果 源 数 据 库 为 “SID”、“ServiceName”; 如 果 源 数 据 库 为 KingbaseES Oracle 数 据 库, 需 要 选 择 数 据 库, 需 要 选 择 “JDBC”、“UnixDo- mainSocket”,选择完成后,自动生成 URL。 SID:数据库实例名用于和操作系统进行联系的标识。 ServiceName:数据库服务名,对于集群环境来说,每个节点的 SID 可能不一致,但 ServiceName 是一致的, 简化客户端连接配置。 UnixDomainSocket 用于实现同一主机上的进程间通信。当迁移工具与目标数据库(KingbaseES)安装在同一 台 Linux 服务器上时可以使用,可提高数据传输效率。 • 连接参数 根据数据库做相应适配,可自行添加或删除参数。 4.2.1.4 测试 测试此数据源是否连接成功,连接成功将会弹出“测试连接成功”提示框,失败会显示出错原因,有助于您了解 连接失败原因。 19 第4章 4.2.1.5 BS 版使用说明 编辑 如果您需要修改数据库连接相关信息,可点击“编辑”按钮修改数据源连接信息,修改后要保证数据源连接依旧 成功。 4.2.1.6 删除 点击“删除”按钮可删除此数据源连接信息。 20 第4章 BS 版使用说明 当需要批量删除数据源连接时,可勾选“连接名称”前的复选框选中需要删除的源数据库连接信息,点击“批量 删除”即可。在未勾选任何数据库连接时“批量删除”呈不可选择状态。 4.2.2 目标数据库 管理目标数据库信息,在数据迁移时作为存放迁移数据的数据库使用。 4.2.2.1 列表 列表显示您所建立的所有目标数据源连接的详细信息,包括:“连接名称”、“数据库”“数据库类型”、“数 据库版本”、“服务器地址”、“用户名”、“操作”。 操作包括:“测试”、“编辑”、“删除”。 21 第4章 4.2.2.2 BS 版使用说明 查询 在搜索框内输入连接名称关键字,然后点击“查询”按钮可快速找到对应的目标数据库,支持模糊搜索。 用于存在大量数据源连接时的快速检索。 22 第4章 4.2.2.3 BS 版使用说明 新建 新 建 目 标 数 据 库 连 接。 完 成 新 建 目 标 数 据 库 需 要 填 写 相 关 数 据 源 连 接 信 息, 包 括:“连 接 名 称”、“数 据 库 类 型”、“数 据 库 版 本”、“服 务 器 地 址”、“端 口”、“用 户 名”、“密 码”、“数 据 库”、“驱 动”、“URL”、“连接参数”。 • 连接名称: 输入自定义的连接名称,用于标注此数据源连接。 • 数据库类型: 在目标数据源中仅支持“KingbaseES”数据库类型。 • 数据库版本: 与数据库类型相关联的系统支持的数据库版本。 • 服务器地址: 数据库所在服务器 IP 地址。 • 端口: 数据库端口号。 • 用户名: 操作数据库的用户名。 • 密码: 与操作数据库用户名相匹配的密码。 23 第4章 BS 版使用说明 • 数据库: 操作数据库的名称。 • 驱动: 数据库驱动信息,会根据数据库类型及数据库版本动态调整。 • URL: 完成“服务器地址”、“端口号”、“数据库”的键入以及“JDBC”、“UnixDomainSocket”的选择,URL 会自动生成。 UnixDomainSocket 用于实现同一主机上的进程间通信。当迁移工具与目标数据库(KingbaseES)安装在同一 台 Linux 服务器上时可以使用,可提高数据传输效率。 • 连接参数 根据数据库做相应适配,可自行添加或删除参数。 4.2.2.4 测试 测试此数据源是否连接成功,连接成功将会弹出“测试连接成功”提示框,失败会显示出错原因,有助于您了解 连接失败原因。 24 第4章 4.2.2.5 BS 版使用说明 编辑 如果您的数据库修改了相关信息,可修改目标数据源连接信息以保证目标数据源连接依旧连接成功。 4.2.2.6 删除 点击“删除”可删除此目标数据源连接信息。 当需要批量删除数据源连接时,可勾选“连接名称”前的复选框选中需要删除的源数据库连接信息,点击“批量 删除”即可。在未勾选任何数据库连接时“批量删除”呈不可选择状态。 25 第4章 4.3 BS 版使用说明 迁移任务管理 迁移任务管理可以操作或查看迁移的全过程。 4.3.1 迁移任务 管理迁移任务,以便于数据迁移操作。 4.3.1.1 列表 列表显示您所建立的所有迁移任务的详细信息,包括:“任务名称”、“源库”、“目标库”、“状态”、“启 动时间”、“结束时间”、“操作”。 “状态”栏显示任务结束执行是否成功,“启动时间”为迁移任务开始时间,“结束时间”为迁移任务结束时 间。 操作包括:“启动”、“重启”、“详情”、“编辑”、“删除”、“二次迁移”。 26 第4章 BS 版使用说明 • 启动 执行从未执行过的迁移任务。 • 重启 执行迁移失败或者需要再次迁移的迁移任务。 • 详情 您可以查看当前迁移任务上次迁移结果的详细信息。如您上次迁移任务失败,可通过点击“详情”按钮打开 “结果查看”页面,通过点击错误日志查看,有助于您找到失败原因,可修改迁移任务配置,以至下次重启时 可以完成迁移。 27 第4章 BS 版使用说明 • 编辑 如您需要修改迁移任务的模式、迁移对象和配置参数的信息,可以通过点击“编辑”按钮进行修改。 • 二次迁移 您可以对迁移失败的对象进行二次迁移。二次迁移以临时任务形式进行,迁移完成后,会合并迁移结果至此任 务中。 28 第4章 4.3.1.2 BS 版使用说明 迁移对象列表 在“详情”中点击成功数、失败数或忽略数即可显示迁移对象列表。 点击“成功数”即显示“迁移对象成功列表”。可点击对象名查看具体 DDL 语句。 点击“失败数”即显示“迁移对象失败列表”。可点击对象名查看具体 DDL 语句。 29 第4章 BS 版使用说明 点击“失败信息”可查看 ERROR 信息。 30 第4章 BS 版使用说明 支持手动修改数据库对象迁移结果,可将迁移成功的对象修改为迁移失败,将迁移失败的对象修改为迁移成功, 可用于手动迁移后同步迁移结果。 4.3.1.3 查询 在搜索框内输入任务名称关键字,点击“查询”可快速找到对应的迁移任务,支持模糊搜索。 31 第4章 BS 版使用说明 用于存在大量迁移任务时的快速检索。 4.3.1.4 新建 新建迁移任务以进行数据迁移。新建任务包含四步:“选择数据源”、“选择模式”、“选择迁移对象”、“配 置参数”。 4.3.1.4.1 选择数据源 填写自定义任务名称(任务名称不能重复),选择“源数据库”和“目标数据库”,或者选择“新建数据源”后 使用。 32 第4章 BS 版使用说明 4.3.1.4.2 选择模式 根据您的数据迁移所需选择对应模式(如需选择模式在系统模式中可选中“包含系统模式”复选框)的表、视 图、序列、函数、存储过程、程序包、同义词、触发器、用户自定义类型、注释及配置搜索路径。当模式较多时也可 以通过左上方的查询框进行检索。请您至少选择一种模式,否则将收到错误提示,以至于不能完成新建任务。 在选择模式的前提下如您未选择“表”,即没有迁移对象,则系统将认为您不需要迁移对象,将提示您直接跳过 “选择迁移对象”进入“配置参数”。 33 第4章 BS 版使用说明 搜索路径配置需要手动填写源库搜索路径及目标库搜索搜索路径。 4.3.1.4.3 选择迁移对象 通过已选模式选择您需要迁移数据的表,模式较多时可在已选模式搜索框内输入模式名关键字进行快速检索。 34 第4章 BS 版使用说明 可迁移此模式下全部表,也可以指定或排除部份表,当您选择“包含指定表”或“排除指定表”时,请您通过 “从列表选择”、“从文件导入”或者在输入框内输入表名将数据添加到包含列表中,如您未添加数据,则会提示错 误导致无法进行下一步并完成新建任务。 当您点击“包含指定表”时也可选择多种方式。可直接在输入框内填写表名,多个表用“,”分割,回车确 认;“从列表选择”可在模式中选择指定表;如您要“从文件导入”,可点击“下载导入模板”,根据导入模板规则 填写,然后从文件导入该模板。当您需要“排除指定表”时,同指定部份表相同操作,但结果相反。 35 第4章 BS 版使用说明 从列表选择表时,可选择对应模式、检索表名关键字、数据条数限制进行快速检索对应的表。点击“添加”按钮 后加入到已选列表,当您想要移除部份表时可以选择对应的表点击“移除”按钮取消表。选择完成后点击确定。 4.3.1.4.4 配置参数 您可以通过对参数的更改获得预估的数据迁移结果。其中迁移配置包括“表默认处理方式”、“表排序依 据”、“表数据读取和写入”、“大表拆分阈值依据”、“非对象设置”、“设置表名、列名大小写”、“数据库连 36 第4章 BS 版使用说明 接数设置”、“kdms 转换设置”及“其他设置”。 • 表默认处理方式: 包括两个复选框项(“建表/重建表”、“导入数据”),迁移到 KingBaseES 数据库是否需要建表或者重建 表,以及是否只迁移表结构而不迁移数据的选择,根据您的需求选择合适的选项(默认是全选)。 • 表排序依据: 对迁移的表进行排序,可通过“按行数和大字段大小交替”、“行数”、“大小进行排序”(默认是按行数和 37 第4章 BS 版使用说明 大字段大小交替)。 • 表数据读取和写入: 对表数据的读取和写入制定规则,可操作项包括“源库游标读取记录数”(默认是 100)、“批量写入目标库 记录数”(默认是 1000)、“每次批量提交大小”(默认是 100MB)、“LOB 字段预读取大小”(默认是 4000Byte)。 • 大表拆分阈值依据: 对大表进行拆分迁移,设置拆分界限。 表 4.3.1: 大表拆分阈值依据 操作项 备注 拆分阈值行数 根据行数拆分大表进行迁移 拆分阈值大小 根据表大小拆分进行迁移 拆分最大块数 设置块数上限 含大对象表游标读取记录数 设置游标读取记录数上限 • 非对象设置: 其 中 包 含 “主 键”、“检 查 约 束”、“唯 一 约 束”、“外 键”、“索 引”、“触 发 器”、“自 动 转 换 对 象 名”、“注释”。您可以根据自己的需求选择是否迁移这些非对象数据(默认是全选)。 • 设置表名、列名大小写: 您根据迁移需求将迁移表的表名和列名改为大写、小写或者与源数据库相同(默认是不变)。 • 数据库连接数设置: 您可以限制迁移程序对源数据库和目标数据库的最大连接数(默认是 100)。 • kdms 转换设置: 开启后可以使用 kdms 对视图、函数、存储过程、包、触发器进行转换后迁移,默认关闭。开启后需要维护正 确的 kdms 信息。 • 其他配置: 配置连接池线程数,源库及目标库最大重试次数及重试间隔,目标数据库字符集,是否记录成功脚本,是否创 建目标模式,是否按照 unlogged 表迁移,是否将 unlogged 表重置为普通表。 数据类型映射包括“源数据类型”、“目标数据类型”、“源库最小版本”、“源库最大版本”、“目标库最小 版本”、“目标库最大版本”及“配置”。 38 第4章 BS 版使用说明 线程配置可以设置“线程池信息”、“表数据读线程池”、“表数据写线程池”、“元数据读线程池”、“元 数 据 写 线 程 池”、“表 数 据 读 取 线 程 池 (逆 序)”、“表 数 据 写 线 程 池 (逆 序)”、“元 数 据 读 线 程 池 (逆 序)”、“元数据写线程池(逆序)”、“大数据对象(CLOB 和 BLOB)写线程池”、“线程池状态收集汇 总配置”、“线程状态收集汇总配置”、“线程堆栈收集配置”。默认为关闭状态,关闭时则使用全局线程池配置, 开启后,迁移任务使用独立线程池配置。 39 第4章 BS 版使用说明 4.3.1.4.5 保存或保存并迁移 您可将此任务作为预迁移任务点击“保存”,或者作为执行任务点击“保存并迁移”。 • 迁移完成: 迁移结束“状态”栏显示“完成”,则迁移任务成功。 • 迁移失败: 40 第4章 BS 版使用说明 迁移结束“状态”栏显示“失败”,则迁移任务失败。失败后可点击详情查看日志有助于解决问题。 4.3.1.5 删除迁移任务 点击“删除”按钮可删除此迁移任务。 当迁移任务过多且需要删除大量迁移任务时,可勾选“任务名称”前的复选框将需要删除的迁移任务全部选中, 点击“批量删除”即可,在未勾选任何迁移任务时“批量删除”呈不可选择状态。 4.3.2 处理中 “处理中”功能的工作区显示正在进行的迁移任务。可点击“停止”按钮取消该任务(停止任务将导致迁移任务 失败)。 41 第4章 BS 版使用说明 点击“进度”按钮可查看该处理中的任务完成进度。在“进度查看”中也可以点击“停止”按钮取消此任务,或 点击“删除”按钮,直接删除此任务。 4.3.3 迁移完成 “迁移完成”功能的列表页面显示已经结束并成功的迁移任务。具体操作可参考 3.1.1 节。 42 第4章 4.3.4 BS 版使用说明 迁移失败 “迁移失败”功能的工作区页面显示迁移失败的任务。具体操作可参考 3.1.1 节。 43 第4章 4.3.5 BS 版使用说明 未启动 “未启动”功能的工作区显示新建的迁移任务,但并未启动过的任务。具体操作可参考 3.1.1 节。 4.4 迁移日志 迁移日志打印迁移任务执行后的日志,具体可分为“系统日志”、“Error 日志”、“Info 日志”。 4.4.1 系统日志 “系统日志”显示 error、warn、info 级别的日志。如需自动滚动日志可以点击“自动滚动”复选框。 44 第4章 BS 版使用说明 4.4.2 Error 日志 “Error 日志”仅显示 error 级别的日志。在迁移任务失败时有助于帮您找到错误原因。如需自动滚动日志可以 点击“自动滚动”复选框。 45 第4章 BS 版使用说明 4.4.3 Info 日志 “Info 日志”仅显示 info 级别的日志。如需自动滚动日志可以点击“自动滚动”复选框。 46 第4章 4.5 BS 版使用说明 迁移结果 “迁移结果”功能的工作区包括“任务执行批次”、“迁移对象”、“总数”、“成功数”、“失败数”、“略 过数”、“操作”。您可以查看历史迁移任务执行的每次记录,以及每次迁移的对象、成功数、失败数、查看失败任 务的错误日志。 47 第4章 BS 版使用说明 迁移成功对象 迁移失败对象 48 第4章 BS 版使用说明 迁移略过对象 4.6 线程池配置 配置全局线程池信息,包括:线程池名称、JVM 内存大小、表数据读线程池配置、表数据写线程池配置、元数 据读线程池配置、元数据写线程池配置、表数据读线程池配置 (逆序)、表数据写线程池配置 (逆序)、元数据读线程池 49 第4章 BS 版使用说明 配置 (逆序)、元数据写线程池配置 (逆序)、大数据对象 (Clob 和 Blob) 写线程池配置、线程池状态收集汇总配置、线 程状态收集汇总配置、线程堆栈收集配置等信息。 注意: 全局线程池配置归所有迁移任务所共享,迁移任务默认采用全局线程池配置。如果迁移任务想采用独立的线程 池,需要在迁移任务线程池配置中将开关打开并设置相关线程池信息。 4.7 个人中心 展示账号信息及修改登录密码。 4.7.1 账号信息 展示账号基本信息,包括:账号、姓名、邮箱、地址、账号锁定、创建时间信息。 50 第4章 4.7.2 BS 版使用说明 修改密码 修改账号登录密码,输入原密码、新密码及确定密码,完成账号密码修改。 51 第 5 章 SHELL 版使用说明 5 第 章 SHELL 版使用说明 本章节包括的主题如下: • 配置 • 运行日志 • 迁移报告 • KingbaseES 优化配置参数 5.1 配置 5.1.1 源库类型 迁移程序支持迁移多种源数据库,为了避免不同源数据库配置相互的干扰,按不同的源数据库类型进行生成独立 的配置文件,因此需要知道当前激活的配置。进入 kdts-plus/conf 目录,打开 application.yml 文件,把“active”的 值设置当前激活的源数据库类型(spring -> profiles -> active): active: oracle # 准备迁移的数据库,如 dm(达梦)、gbase、kingbase、mysql、oracle 等,具体的配置在 kdts-XXX.yml 文件中 当前设置的是 oracle,激活的“数据库连接”配置就是 kdts-oracle.yml,如果配置的是 mysql,则对应 kdtsmysql.yml,以此类推。 5.1.2 运行模式 迁移工具除了进行数据迁移还可进行源库和目标库的数据对比,可根据需要切换运行模式。进入 kdts-plus/conf 目录,打开 application.yml 文件,去掉“running-mode”前的 # 号(注释)后设置需要的运行模式: datasource: type: 52 第 5 章 SHELL 版使用说明 source: Hikari # Hikari、Druid、Simple # 源库为 gbase8g 时,只能选择 Simple target: Hikari # Hikari、Druid、Simple log: home: logs # 日志主目录 level: # 日志级别 console-appender: INFO # 控制台输出(OFF、TRACE、DEBUG、INFO、WARN、ERROR) file-appender: INFO # 文件输出(OFF、TRACE、DEBUG、INFO、WARN、ERROR) #running-mode: DataCompare # 数据比较 注意: 注释掉“running-mode”即为缺省的数据迁移模式,以后若有新运行模式,按注释说明填写。 5.1.3 源数据库 根据设置的“源库类型”,打开 conf 目录中与之对应的配置文件(如 kdts-oracle.yml),按实际环境中的运行 参数进行配置。 5.1.3.1 源库连接设置 # 源数据库类型 dbType: oracle # 源数据库版本 (9i,10g,11g,12c,19c) dbVersion: 11g # 连接字符串 url: jdbc:oracle:thin:@1.2.3.4:1521/orcl # 驱动类名 driver-class-name: oracle.jdbc.OracleDriver # 用户名 username: oracle # 密码 password: 123456 # 数据库连接验证 SQL validationQuery: select 1 from dual 注意: 1. 如果源库的类型为 MariaDB 时使用与 Mysql 使用相同的接口和配置文件,不再单独处理,请按照下表中的版 本对应关系进行配置: 53 第 5 章 SHELL 版使用说明 MariaDb MySql kdts-plus 对应的 dbVersion 5.5、10.0 5.5 5.5 10.1 5.6 5.7 10.2、10.3、10.4 5.7 5.7 10.5、10.6、10.7 8.0 8.0 2. 配置“连接字符串”时需要考虑数据库的初始化字符集等因素,例如当 MySQL 数据库的字符集是 GBK 或 GB2312 时,应在 url 中添加“useUnicode=true&characterEncoding=utf-8”。 5.1.3.2 包含或排除的模式 # 要迁移的模式,多个模式用英文逗号隔开,如:A,B,C(不要回车换行),也可填入"*"(需要双引号,将迁移源库中此用户所 能访问的所有模式) #schemas: Sehcma1,Sehcma2,Sehcma3 #schemas: "*" schemas: Sehcma1 # 不迁移的模式,多个模式用英文逗号隔开,如:A,B,C(不要回车换行) schema-excludes: SYS,SYSTEM,MGMT_VIEW,DBSNMP,SYSMAN,OUTLN,FLOWS_FILES,MDSYS,ORDSYS,EXFSYS,WMSYS,APPQOSSYS, APEX_030200,OWBSYS_AUDIT,ORDDATA,CTXSYS,ANONYMOUS,XDB,ORDPLUGINS,OWBSYS,SI_INFORMTN_SCHEMA,OLAPSYS,SCOTT, ORACLE_OCM,XS$NULL,BI,PM,MDDATA,IX,SH,DIP,OE,APEX_PUBLIC_USER,HR,SPATIAL_CSW_ADMIN_USR,SPATIAL_WFS_ADMIN_USR 5.1.3.3 大表拆分设置 # 大表拆分阈值行数(当表的行数超过此值时,将对表进行拆分,每块的记录数为此值和表总记录数除以“拆分最大块数”中的 最大值) large-table-split-threshold-rows: 5000000 # 大表拆分阈值大小(单位为 M)(当表的数据大小(普通字段 + 大对象字段)超过此值时,将对表进行拆分) large-table-split-threshold-size: 5000 # 大表拆分最大块数(每张表的最大拆分块数,应不超过总的读线程数) large-table-split-max-chunk-num: 24 # 大表拆分条件定义文件(优先于按行数和大小拆分) large-table-split-condition-file: largetable-split-condition.json 5.1.3.4 表过滤设置 54 第 5 章 SHELL 版使用说明 # 表数据过滤条件定义文件 table-data-filter-condition-file: table-data-filter-condition.json 5.1.3.5 包含或排除的对象 # 注意:在下面使用英文逗号隔开的配置项中,如果对象名称中包含!@#$%^&*(_+}{]|\\'g;:?/,< 等特殊字符时可使用双引号, 但双引号需加斜杠转义,如\"Schema1\".\"Table!@#$%^&*(_+}{]|\\,