# 从MySQL 迁移到Kingbase(人大金仓)
关于作者
- 作者介绍
🍓 博客主页:作者主页
🍓 简介:JAVA领域优质创作者🥇、一名在校大三学生🎓、在校期间参加各种省赛、国赛,斩获一系列荣誉 🏆、阿里云专家博主 、51CTO专家博主
🍓 关注我:关注我学习资料、文档下载统统都有,每日定时更新文章,励志做一名JAVA资深程序猿👨💻
一、开始迁移
1.1 环境准备
- 打开Navicat,准备源数据库,例如 db: test username: root password:123456
- 打开 KStudio.exe,创建目标数据库,例如 db: test username:root password: 123456
- (官方建议)迁移两边的库 数据库名、用户密码均同名
1.2 迁移流程
1.2.1 运行迁移工具
运行后会出现cmd的运行窗口,等待启动完成!
1.2.2 访问
- 使用谷歌浏览器进行访问
- 访问地址:http://localhost:8080/
- 默认用户名及密码:admin / 123456&*
- 会话保存策略:会话保存时间为一天,服务重启或登出失效。
1.2.3 添加数据源连接信息
1.2.4 新建待迁移的数据源
1.2.5 添加目标数据源连接信息
创建目标数据库连接 创建目标数据库连接。创建数据库连接界面如下,填写数据源信息,包括:连接名称、数据库类型、数据库版本、服务器地址、端口、用户名、密码、数据库、驱动、URL、连接参数。
1.2.6 新建迁移任务
KDTS 采用向导页的方式指导用户新建迁移任务,简单易用,用户依次配置"选择数据源"-"选择模 式"-"选择迁移对象"-"配置参数",即可快速配置一个迁移任务。
- 选择数据源:填写自定义任务名称(任务名称不能重复),选择"源数据库"和"目标数据库",或者选择"新 建数据源"后使用。
- 选择模式:根据您的数据迁移所需选择对应模式(如需选择模式在系统模式中可选中"包含系统模式"复选 框)的表、视图、序列、函数、存储过程、程序包、同义词。当模式较多时也可以通过左上方的查 询框进行检索。请您至少选择一种模式,否则将收到错误提示,以至于不能完成新建任务。
在选择模式的前提下如您未选择"表",即没有迁移对象,则系统将认为您不需要迁移对象,将提示您直接跳过"选择迁移对象"进入"配置参数"。
- 选择迁移对象(一般情况都是迁移全部):通过已选模式选择您需要迁移数据的表,模式较多时可在已选模式搜索框内输入模式名关键字进行快速检索。
可迁移此模式下全部表,也可以指定或排除部份表,当您选择"包含指定表"或"排除指定表" 时,请您通过"从列表选择"、"从文件导入"或者在输入框内输表名将数据添加到包含列表 中,如您未添加数据,则会收到错误提示,导致无法完成新建任务。
-
配置参数:迁移工具提供了一系列配置参数用于迁移方案的个性化配置,满足多种迁移场景。配置参数分为 "迁移配置"、"数据类型映射"、"线程配置"三个方面。以下以迁移配置为例,介绍各参数的 含义。其他配置项请参考 KDTS 迁移工具使用指南。
参数详解:
-
表默认处理方式: 包括两个复选框项("建表/重建表"、"导入数据"),迁移到 KingBaseES 数据库是否需要 建表或者重建表,以及是否只迁移表结构而不迁移数据的选择,根据您的需求选择合适的选项 (默认是全选)。
-
表排序依据: 对迁移的表进行排序,可通过"按行数和大字段大小交替"、"行数"、"大小"进行排序(默 认是按行数和大字段大小交替)。
-
表数据读取和写入: 对表数据的读取和写入制定规则,可操作项包括"源库游标读取记录数"(默认是 100)、"批 量写入目标库记录数"(默认是 1000)、"每次批量提交大小"(默认是 100MB)、"LOB 字 段预读取大小"(默认是 4000Byte)。
-
大表拆分阈值依据: 对大表进行拆分迁移,设置拆分界限。
-
非对象设置: 其中包含"主键"、"检查约束"、"唯一约束"、"外键"、"索引"、"触发器"、"自动 转换对象名"。您可以根据自己的需求选择是否迁移这些非对象数据(默认是全选)。 • 数据库连接数设置: 您可以限制迁移程序对源数据库和目标数据库的最大连接数(默认是 100)。
-
迁移配置(默认)
-
数据类型映射(默认)
-
线程配置(默认)
-
-
执行迁移任务:选择完迁移配置、数据类型映射、线程配置后,点击保存并迁移,则会创建任务。
- 可将此任务作为预迁移任务点击"保存",或者作为执行任务点击"保存并迁移"。
- 迁移完成: 迁移结束"状态"栏显示"完成",则迁移任务成功。
- 迁移失败: 迁移结束"状态"栏显示"失败",则迁移任务失败。失败后可点击详情查看日志有助于解决问题。
-
查看迁移报告及问题处理
- 迁移完成后,需要确认执行结果,包括迁移数据量,是否有错误发生,可以通过迁移日志和迁移结果进行 查看。
- "迁移日志"打印迁移任务执行后的日志,具体可分为"系统日志"、"Error 日志"、"Info 日志"。 "迁移结果"功能的工作区包括"任务执行批次"、"迁移对象"、"总数"、"成功数"、"失败 数"、"略过数"、"操作"。您可以查看历史迁移任务执行的每次记录,以及每次迁移的对象、成功 数、失败数、查看失败任务的错误日志。
kingbase sspiServiceClass中oracle模式和Postgre模式区别
在 Kingbase 数据库中,SSPI(Security Support Provider Interface)Service Class 是用于配置数据库连接的一种方式。SSPI Service Class 可以用于指定数据库连接使用的数据库模式(Schema)。
在 Kingbase 数据库中,存在类似于 Oracle 和 PostgreSQL 的模式(Schema)的概念。下面是 Oracle 模式和 PostgreSQL 模式在 Kingbase 数据库中的区别:
-
Oracle 模式:
- 每个用户(User)在 Oracle 模式中都有一个对应的模式。用户的模式用于存储该用户所拥有的对象(表、视图、存储过程等)。
- 用户在连接到数据库时,默认会使用自己的模式。
- 在 SSPI Service Class 中指定 Oracle 模式时,可以使用用户的名称作为模式的名称。
-
PostgreSQL 模式:
- 在 PostgreSQL 模式中,一个数据库可以包含多个模式,每个模式下可以有自己的对象。
- 用户在连接到数据库时,可以选择使用特定的模式。
- 在 SSPI Service Class 中指定 PostgreSQL 模式时,可以直接指定模式的名称。
需要注意的是,Kingbase 数据库是一个 PostgreSQL 的分支,因此它继承了 PostgreSQL 的一些特性和概念。在 Kingbase 中,使用 SSPI Service Class 来指定数据库连接的模式,可以根据实际情况选择使用 Oracle 模式或 PostgreSQL 模式,并根据模式的特点进行相应的配置。
请根据您的具体需求和数据库配置,选择适合的模式和配置方式来使用 SSPI Service Class。