...
概述
在信创背景下,知识库迁移至信创数据库成为企业信息化升级的重要一环。本解决方案旨在提供一个完整、系统的信创知识库迁移方法步骤,确保迁移过程平滑高效。
[图片要改一下,加上目标环境知识库的数据库类型、源环境的数据库类型。oracle、mysql、sql server等。。。。。。]
信创数据库选型
1、建议在信创数据库的选型时先了解本解决方案内容。
2、推荐选择数据库表数据值大小写具备全局控制参数的信创数据库。如GoldenDB、TIDB数据库表数据值大小写只有列级控制,没有全局参数控制,教容易增大迁移风险。
二 迁移实施
(一)前期准备阶段
1 源环境知识库诊断及修复【系统检查】
2 达梦、Oceanbase数据库专项诊断
若目标环境知识库为达梦、Oceanbase,创建数据库时,需设置为源
达梦、Oceanbase数据库是否设置为源环境知识库对应的兼容模式。若未设置,需重新设置
3 源、目标环境兼容性诊断
请下载附件表格,进行源、目标环境的兼容性诊断。
XXXXXX
1)根据附件中的表格1列出的内容,确认源知识库、目标知识库的相关设置项,并将检查出的结果填入表格中。
示例如下:
...
要求:建议目标知识库与源知识库表名大小写敏感策略保持一致。
处理方案:建议修改目标知识库表名大小写敏感策略与源知识库保持一致。
...
要求:建议目标知识库与源知识库列名大小写敏感策略保持一致。
处理方案:建议修改目标知识库列名大小写策略与源知识库保持一致。
...
要求:
1)若源知识库表数据大小写敏感为“否”,则对目标知识库不做要求;
2)若源知识库数据大小写敏感为“是”,则目标知识库表数据大小写敏感必须为“是”。
处理方案:
若源知识库数据大小写敏感为“是”,目标知识库表数据大小写敏感为“否”,请参考以下处理方案进行处理
1)若目标知识库表数据大小写敏感有全局参数控制,则需要修改目标知识库的全局参数,将目标知识库大小写敏感修改为“是”。
2)若目标知识库表数据大小写敏感灭有全局参数控制。则请参考解决方案的后续章节进行处理。
...
2)若表格1中存在以下数据。则需要进行此步骤,检查源知识库中是否存在大小写不一样但内容一样的数据。
迁移实施
一、前期准备阶段
(一)源环境系统检查及修复
访问Smartbi源环境,打开“系统检查”功能。点击“全部检查”,对源环境系统进行系统检查。
当以下表格中的检查项目检查出问题时,需进行修复,确保对源环境自身存在的异常进行提前处理。
序号 | 检查项目 | 备注 |
---|---|---|
1 | 资源树检查 | 若检查出问题,需先进行修复 |
2 | 表结构检查 | 若检查出问题,需先进行修复 |
3 | 表数据检查 | 若检查出问题,需先进行修复 |
4 | 用户关系检查 | 若检查出问题,需先进行修复 |
5 | 表数据量检查 | 若检查出问题,需先进行修复 |
6 | 表索引检查 | 旧版本(V8)不存在该检查项目,可执行一次“重建索引”代替 |
(二)源、目标环境知识库兼容性诊断
下载附件中的Excel表格,对源、目标环境知识库进行兼容性诊断:知识库迁移诊断Excel表格.xlsx
表格内容截图如下,请按照后续步骤进行下一步诊断
1、根据附件中的表格,对源知识库、目标知识库的诊断项进行确认,并将检查出的结果填入表格“源环境知识库”、“目标环境知识库”两列中。
填写示例如下:
序号 | 诊断项 | 源环境知识库 | 目标环境知识库 |
1 | 数据库类型* | Oracle | SelectDB |
2 | 数据库字符集* | UTF-8 | UTF-8 |
3 | 数据库表数据大小写敏感* | 是 | 是 |
4 | 数据库是否有全局参数控制表数据大小写敏感* | 是 | 是 |
5 | 数据库存在兼容模式* | 否 | 否 |
6 | 数据库表名大小写是否敏感 | / | / |
7 | 数据库列名大小写是否敏感 | / | / |
2、若表格中存在以下数据。则需要参考本章节进行进一步检查
序号 | 诊断项 | 源环境知识库 | 目标环境知识库 |
---|---|---|---|
... | ... | ... |
3 | 数据库表数据大小写敏感* | 是 | 否 |
4 |
数据库是否有全局参数控制表数据大小写敏感* | ... | 否 |
将附件中的数据模型导入到源环境中,并基于该数据模型预览数据。根据预览结果进行下一步处理。1) 将附件中的资源使用“导入资源”功能导入到源环境中。该资源提供了一个知识库数据诊断的数据模型,用于诊断知识库中数据大小写情况。
【数据模型作用说明】该数据模型的作用是:检查知识库所有的表中是否存在大小写不一样的主键数据。如t_user表中,c_userid为主键字段。若表中有c_userid字段数据为 A0001和a0001,且可以正常使用,则该数据模型会输出t_user表
结果1:查询无数据。
查询无数据,表示源知识库中不存在大小写不一样但是内容一样的数据,则进行迁移时,“表数据大小写敏感”策略是否一致基本上不会影响迁移结果。因此关于“表数据大小写敏感”一项,不需要对目标知识库做处理。
结果2:查询有数据。
查询有数据,表示源知识库中存在大小写不一样但是内容一样的数据,则进行迁移时,可能会导致迁移失败或者迁移后部分数据(非业务数据)发生变化。需将查询结果导出为excel,将excel提供给我们进一步分析。并且填写附件表格中的表格二。
示例如下:
XXXXXXX
注意 | ||
---|---|---|
| ||
部分数据库某些参数在创建数据库时便需要指定,创建后不支持修改。因此创建数据库之前,最好先按照表格进行诊断,并根据处理方案创建数据库时便设置好相关参数。 已知的数据库有:XX数据库、XX数据库。 |
4 目标环境预处理
根据步骤2中的输出的表格,对目标环境进行预处理
1)针对以下内容,请参考附件中表格1 “要求及处理方案推荐”列中的处理方案进行处理。处理完毕后将处理结果填写到 “处理结果”列中。
如下:
2)若“表数据大小写敏感”导入了数据模型进行查数,并且提供了excel给我们进行分析。那么请按照我们后续提供的解决方案进行处理,并将处理结果填写到 表格2 “XX”列中。
5 资料归档
请妥善保存填写完毕的表格,以及我们提供给您的解决方案(若有),以便后续您再次进行迁移时进行参考。
(二)迁移执行阶段
1、迁移工具选择
推荐使用 诊断资源:知识库诊断资源_migrate.xml;“导入资源”功能请参考:导入资源
2)编辑该数据模型“知识库诊断数据模型”,进入数据模型中的“脚本查询”的编辑界面,点击执行进行数据预览
注意 | ||
---|---|---|
| ||
1、请在源环境的空闲时间进行操作,减少干扰 2、该脚本预览时会遍历知识库中所有表进行诊断,耗时需要数分钟,请耐心等待 |
3)获取查询结果后,参考如下表格进行操作
查询结果 | 下一步处理动作 |
---|---|
结果为空 | 结果为空表示源环境知识库中不存在主键大小写不一致但是内容一致的数据,可以直接迁移。 在“知识库迁移诊断Excel表格”的“处理结果”一格中,填入“根据诊断结果,可以正常迁移” |
结果不为空 | 结果有数据表示源环境知识库中存在主键大小写不一致但是内容一致的数据,无法兼容。 需通过定制兼容,可联系思迈特技术支持进行沟通。 |
(三)目标环境预处理
根据“知识库迁移诊断Excel表格”中填写的内容和“要求及处理方案推荐”列,对目标环境知识库进行处理,如修改字符集、调整兼容模式等。并将处理结果填写在表格最后一列“处理结果”中。
示例如下
(四)资料归档
请妥善保存填写完毕的表格,以及我们提供给您的解决方案(若有),以便后续您再次进行迁移时进行查阅。
二、迁移执行阶段
(一)迁移工具选择
使用 Smartbi 系统中的备份与恢复知识库功能进行迁移。具体操作可参考:备份知识库、恢复知识库。
2、迁移
1)源环境备份
2)目标环境备份——适用于目标环境的知识库有资源,可能后续需要找回的情况
3)目标环境恢复知识库
(三)优化阶段
1、对目标环境进行系统检查
最佳实践建议
1 建议搭建模拟环境进行迁移测试
2 实施分阶段迁移,先迁移测试环境,再迁移测试环境
五、目标环境为达梦数据库的特殊注意事项
若目标环境知识库为达梦数据库,则除了上述事项外,当源环境知识库为MySQL、Oracle、SQL Server、PostgreSQL时,需将达梦数据库的兼容模式设置为对应模式。
可通过以下语句查询达梦数据库的兼容模式
SELECT * FROM V$PARAMETER WHERE NAME = 'COMPATIBLE_MODE';
修改达梦数据库兼容模式方法,请通过网络或 AI 搜索获取。
注意 | ||
---|---|---|
| ||
数据库工具备份恢复无法兼容不同知识库之间表名、列名大小写策略,不建议使用数据库工具进行备份、恢复。 |
(二)实施迁移
参考如下步骤进行迁移
1、源环境备份知识库
在源环境上通过“备份知识库”功能对知识库进行备份。
2、目标环境恢复知识库
在目标环境上通过“恢复知识库”功能,将源环境备份的知识库文件backup.zip恢复到目标环境中。
至此,源环境到目标环境的迁移动作完成。
三、目标环境优化
对目标环境进行系统检查,若出现问题及时修复,以保证目标环境正常运行。
最佳实践建议
1、建议搭建模拟环境进行迁移测试
2、实施分阶段迁移进行,先迁移测试环境,再迁移正式环境
常见问题
1、若同时存在版本升级和知识库迁移,如何实施比较合适?
答复:由于新版本可兼容更多的数据库类型作为知识库,因此需要先进行版本升级,再进行知识库迁移。
注意 | ||
---|---|---|
| ||
1、无论版本升级还是知识库迁移,都需要进行周密的准备、实施、测试工作。参考:Smartbi版本升级 2、版本升级和知识库迁移不能同时进行,极有可能因版本差异、知识库兼容问题从而相互干扰,增大问题排查难度,严重影响实施进度! |