页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

概述

在信创背景下,知识库迁移至信创数据库成为企业信息化升级的重要一环。本解决方案旨在提供一个完整、系统的信创知识库迁移方法步骤,确保迁移过程平滑高效。

Image Modified[

...

图片要改一下,加上目标环境知识库的数据库类型、源环境的数据库类型。oracle、mysql、sql server等。。。。。。]


信创数据库选型

1、建议在信创数据库的选型时先了解本解决方案内容。

2、推荐选择数据库表数据值大小写具备全局控制参数的信创数据库。如GoldenDB、TIDB数据库表数据值大小写只有列级控制,没有全局参数控制,教容易增大迁移风险。


迁移实施

(一)前期准备阶段

1 源环境知识库诊断及修复【系统检查】



达梦、Oceanbase数据库专项诊断

若目标环境知识库为达梦、Oceanbase,需先进此项诊断和处理若目标环境知识库为达梦、Oceanbase,创建数据库时,需设置为源

达梦、Oceanbase数据库是否设置为源环境知识库对应的兼容模式。若未设置,需重新设置


3 源、目标环境兼容性诊断

请下载附件表格,进行源、目标环境的兼容性诊断。

XXXXXX


下载附件表格:1)根据附件中的表格1列出的内容,确认源知识库、目标知识库的相关设置项,并将检查出的结果填入表格中。
1)根据附件表格检查源环境知识库和目标环境知识库,并将检查出的情况填入附件中表格1中

示例如下:

诊断项源知识库目标知识库
预处理推荐方案
要求及处理方案推荐
目标环境知识库与处理后
处理结果
数据库类型*MysqlOracle
/
推荐目标知识库为具备全局参数控制表数据值是否区分大小写的信创数据库类型,可以极大降低迁移风险,提高迁移效率。/
字符集*utf-8gbk要求:目标知识库与源知识库字符集必须保持一致。
目标知识库与源知识库字符集必须保持一致
处理方案:修改目标知识库的字符集,与源知识库保持一致。
utf-8
修改目标知识库字符集为gbk
表名大小写敏感
建议目标知识库与源知识库表名大小写敏感策略保持一致

要求:建议目标知识库与源知识库表名大小写敏感策略保持一致。

处理方案:建议修改目标知识库表名大小写敏感策略与源知识库保持一致。

不做处理
列名大小写敏感

要求:建议目标知识库与源知识库列名大小写敏感策略保持一致。

建议目标知识库与源知识库列名大小写敏感策略保持一致

处理方案:建议修改目标知识库列名大小写策略与源知识库保持一致。

不做处理
表数据大小写敏感*

要求:
1)若源知识库表数据大小写敏感为“否”,则对目标知识库不做要求;

2)若源知识库数据大小写敏感为“是”,则目标知识库表数据大小写敏感必须为“是”。

处理方案:

若源知识库数据大小写敏感为“是”,目标知识库表数据大小写敏感为“否”,请参考以下处理方案进行处理

1)若目标知识库表数据大小写敏感有全局参数控制,则需要修改目标知识库的全局参数,将目标知识库大小写敏感修改为“是”。

2)若目标知识库表数据大小写敏感灭有全局参数控制。则请参考解决方案的后续章节进行处理。

根据解决方案文档中的方法,查询到源知识库中并不存在大小写不一样但是内容一样的主键数据。因此可以直接迁移。不需要对目标知识库进行修改。
表数据大小写敏感是否有全局参数*
1)若源:否,目标:是。
表数据大小写敏感是否有全局控制属性


2)若表格1中存在以下数据。则需要进行此步骤,检查源知识库中是否存在大小写不一样但内容一样的数据。

2)若表格1中存在以下数据。则需要进行此步骤

诊断项源环境知识库目标环境知识库
.........
表数据大小写敏感
表数据大小写敏感是否有全局控制属性...

将附件中的数据模型导入到源环境中,并基于该数据模型查询数据(可创建即席查询、电子表格清单表等资源)。

查看数据。

【需要】


该数据模型的作用是:检查知识库所有的表中是否存在大小写不一样的主键数据。如t将附件中的数据模型导入到源环境中,并基于该数据模型预览数据。根据预览结果进行下一步处理。

【数据模型作用说明】该数据模型的作用是:检查知识库所有的表中是否存在大小写不一样的主键数据。如t_user表中,c_userid为主键字段。若表中有c_userid字段数据为 A0001和a0001,且可以正常使用,则该数据模型会输出t_user表

将输入的数据导填写到附件表格2中。结果1:查询无数据。

...

查询无数据,表示源知识库中不存在大小写不一样但是内容一样的数据,则进行迁移时,“表数据大小写敏感”策略是否一致基本上不会影响迁移结果。因此关于“表数据大小写敏感”一项,不需要对目标知识库做处理。


根据步骤2中的输出的表格,对目标环境进行预处理结果2:查询有数据。

1)若表格1中以下项 源环境知识库和目标环境知识库不一致,请修改目标环境知识库与源环境知识库一致。查询有数据,表示源知识库中存在大小写不一样但是内容一样的数据,则进行迁移时,可能会导致迁移失败或者迁移后部分数据(非业务数据)发生变化。需将查询结果导出为excel,将excel提供给我们进一步分析。并且填写附件表格中的表格二。

2)若步骤2中执行了表格2的检查,确认表格2是否填入了数据,若填入了数据,则需要先访问目标环境,配置对应的表的主键列大小写敏感、示例如下:

具体功能:XXXXXXXXXXXXXXXXXXXXXXXX

(二)迁移执行阶段

1、迁移工具选择

2、迁移

关注日志报错

(三)验证优化阶段

概述

在进行两个服务器间的知识库迁移之前,遵循以下关键注意事项并提前做好检查与准备,可有效避免迁移过程中的错误,节省时间与人力成本。

一、备份“目标环境”的知识库

迁移操作会覆盖目标环境的知识库。因此,在迁移前,请务必备份目标环境的知识库。后续若需恢复目标环境,可通过备份文件进行操作。
备份知识库功能请参考:备份知识库

二、核对源环境与目标环境知识库库信息

...

强烈建议两个环境表数据大小写策略保持一致,否则易导致迁移失败。

XXXXXXX


注意
title注意

...

部分数据库某些参数在创建数据库时便需要指定,创建后不支持修改。因此创建数据库之前,最好先按照表格进行诊断,并根据处理方案创建数据库时便设置好相关参数。

...

已知的数据库有:XX数据库、XX数据库。

...



4 目标环境预处理

...

Smartbi系统创建表时,并未在建表语句中指定字符集,而是使用数据库默认字符集。若源环境与目标环境知识库字符集不一致,容易出现问题。

例如源环境知识库字符集为UTF-8,目标环境知识库字符集为GBK,通常都会恢复失败。

...

典型案例

某项目源环境为 MySQL(表数据大小写敏感),目标环境为达梦 8(表数据大小写不敏感)。源环境备份恢复到目标环境时失败,提示 “违反表 [t_parameter] 唯一性约束条件”。

经排查,源环境中某数据源创建了 ProName 和 proname 两个参数,生成的 ID 分别为 PARAM. 数据源名称.ProName 和 PARAM. 数据源名称.proname。因源环境区分大小写,两者可正常保存。但在达梦 8(不区分大小写)中,系统识别两者主键相同,产生冲突。
在本案例中,解决方案有如下两种:

1 推荐:修改目标环境知识库为表数据大小写敏感,再重新恢复知识库。

2.不推荐 ​:在备份文件 backup.zip 中找到 t_parameter 表对应的 xml 文件,使用文本编辑器打开,搜索并修改参数的 ID 和名称(如将 “proname” 改为 “proname2”)。即通过修改xml的方式,将参数proname的ID和名称修改为 PARAM.数据源名称.proname2 和 proname2。将修改后的文件覆盖原 xml 文件后重新恢复。

但此方法存在风险:修改过程易出错;无法保证关联的其他表同步修改;且对于业务数据库中同名但大小写不同的表或字段,无法处理,如业务数据库为 Mysql区分大小写,存在表 Orders 和表 order,当出现本案例中的问题时,无法直接修改表的名称为其他名称,这种修改方式会导致表名不正确。

三、选择合适的备份 / 恢复工具

若源与目标环境知识库的数据库类型不同(如源为 MySQL,目标为 Oracle),不建议使用数据库工具进行备份和迁移,因其语法差异较大。推荐使用 Smartbi 系统中的备份与恢复知识库功能。具体操作可参考:备份知识库恢复知识库

四、处理备份时的系统检查问题

在“备份知识库”时,系统会自动进行系统检查,该步骤是为了提前发现当前环境知识库存在的问题,如表是否存在主键丢失等情况。

Image Removed

若提示出现以下问题,建议先对当前环境进行修复后,再重新备份知识库。

Image Removed根据步骤2中的输出的表格,对目标环境进行预处理

1)针对以下内容,请参考附件中表格1 “要求及处理方案推荐”列中的处理方案进行处理。处理完毕后将处理结果填写到 “处理结果”列中。

如下:



2)若“表数据大小写敏感”导入了数据模型进行查数,并且提供了excel给我们进行分析。那么请按照我们后续提供的解决方案进行处理,并将处理结果填写到 表格2 “XX”列中。




5 资料归档

请妥善保存填写完毕的表格,以及我们提供给您的解决方案(若有),以便后续您再次进行迁移时进行参考。



(二)迁移执行阶段

1、迁移工具选择

推荐使用 Smartbi 系统中的备份与恢复知识库功能进行迁移。具体操作可参考:备份知识库恢复知识库


2、迁移

1)源环境备份

2)目标环境备份——适用于目标环境的知识库有资源,可能后续需要找回的情况

3)目标环境恢复知识库



(三)优化阶段

1、对目标环境进行系统检查



最佳实践建议

1 建议搭建模拟环境进行迁移测试

2 实施分阶段迁移,先迁移测试环境,再迁移测试环境








五、目标环境为达梦数据库的特殊注意事项

若目标环境知识库为达梦数据库,则除了上述事项外,当源环境知识库为MySQL、Oracle、SQL Server、PostgreSQL时,需将达梦数据库的兼容模式设置为对应模式。

...