数据库迁移和验证
操作场景
创建迁移项目创建完成后,启动迁移项目,选择需要迁移对象,根据迁移风险项配置转换方案,启动语法转后,UGO服务会将源库的SQL语法一键转换成目标库语法,转换失败的语法支持手工进行校正,修改完成后,迁移验证阶段,在目标数据库执行,完成源库对象到目标库的迁移,查看迁移进度和详情来确认迁移结果。
数据库迁移验证为五个步骤:
选择对象迁移
- 登录UGO控制台。
- 单击左侧导航栏 。
- 在对象迁移页面,单击待迁移项目的“操作 > 迁移”。
在转换计划页面,显示待转换对象及分类。可以按照更新日期或具体对象名称进行搜索,也可依据Schema、对象状态以及转换状态进行筛选。具体对象信息详见查看源库采集结果。图1 转换计划
- 界面选取转换对象。
- 左侧树显示为当前默认转换的全部对象,单击“选择迁移对象类型”,可快速按照类型将不迁移的对象的“转换状态”批量设置为“跳过”。
- 单击Schema前的复选框,勾选具体的对象,选择“跳过转换”或“转换”按钮,选择对象的是否迁移,支持批量操作。可通过对象名称、对象状态等进行过滤筛选。
- 本地上传指定对象。
单击“指定转换对象”,下载模板,将待转换对象的信息填入Excel文件,上传Excel文件。详情可参考上传指定迁移对象名称。
- 界面选取转换对象。
- (可选)设置GaussDB数据分布方式。
- 当源库为Oracle和MySQL且目标库为GaussDB的分布式时,支持此功能。
- 对象类型为Table时可设置数据分布方式,详情可参考表对象的分布映射。
- 当待转换对象中包含user对象时,需要为用户设置统一的密码。单击左上角“用户密码”,在弹窗中完成设置。
图2 用户密码
- 如果要转换数据库对象user,必须设置密码才能完成转换。设置的密码将用于目标数据库上创建的所有用户对象,迁移后需要逐一手动修改用户的密码。若不转换数据库对象USER,请选中并单击“跳过转换”,“转换状态”列变为“跳过”,忽略转换。若需继续转换,可选择具体对象并单击“转换”。
忽略user迁移后,单击下一步,界面会显示提示信息,需要在配置转换方案步骤,在名为“用户连接”的配置项的“当前配置”中,选择“将对象所有者设置为执行GaussDB脚本的用户”选项,否则可能会导致迁移会失败。
- 建议选择SSL连接。如果选择非SSL连接,密码将在数据库连接以及SQL语句中以明文形式传输,存在潜在的安全风险。
- 密码创建完成后,在迁移过程中不支持再次修改。
- 密码长度最少8个字符,最多32个字符。其中至少包含大写字符A-Z、小写字符a-z、数字0-9和特殊字符 ~!@#$%^&*()-_=+\|[{}];:,<.>/?四类字符中的三类,但不能使用空格。可重复字符不能超过3个连续字符。
- 如果要转换数据库对象user,必须设置密码才能完成转换。设置的密码将用于目标数据库上创建的所有用户对象,迁移后需要逐一手动修改用户的密码。若不转换数据库对象USER,请选中并单击“跳过转换”,“转换状态”列变为“跳过”,忽略转换。若需继续转换,可选择具体对象并单击“转换”。
配置转换方案
- 单击“下一步”。进入转换配置页面。
- 设置转换配置参数。有两种方式:
- 默认情况下,使用默认模板,在各个转换配置项中单击 ,查看配置详情,根据实际使用场景进行详细设置。
- 优先最大化迁移成功率的场景下,可在“基线模板”下拉框选择最大兼容性模板,并根据实际使用场景进行微调。
图3 设置转换配置
- (可选)单击“表空间映射”,进入表空间页面。
若需添加表空间映射关系,可选择需要的源数据库表空间和对应的目标数据库表空间,单击“映射表空间”。
以下链路支持表空间映射功能。
- Oracle到GaussDB
- Oracle到PostgreSQL
启动语法转换
- 单击“下一步”,进入语法转换界面。
- 单击“启动”,进行语法的转换。
图4 语法转换
- 转换完成后页面显示对象类型、总数、转换成功、转换失败等信息以及转换开始时间与结束时间。
- 页面以进度条和百分比显示迁移进度。
再次单击“启动”,将再次进行语法转换,会覆盖上一次转换的全部转换数据,包含手工修改的对象,请谨慎操作。如确需重新转换,单击“确认”。
- 语法转化完成后,可查看语法转化历史记录和转化详情,可参考查看语法转换历史详情。
校正转换失败对象
- 单击“下一步”,进入对象校正页面。对象校验页面显示待验证的Schema、对象名称、对象类型等信息。
图5 对象校正
- 可对选中的具体对象单击“跳过迁移”,忽略不想验证迁移的对象。
- 批量语句更新:批量语句更新支持类似问题的批量搜索和修改。如何批量语句更新,可参考批量语句更新。
- 单击待修改对象“转换错误”信息和“修改”建议。
,进入对象详细信息页面。可以查看图6 对象详细信息-转换错误
- 建议按照管理、存储、代码、作业对象的顺序进行对象校正。
- 迁移后返回对象校正页面并查看迁移失败的对象详情时,展示的是“迁移错误”。
- 对转换错误或者迁移错误的对象进行SQL语句修改。单击“保存”,会形成修改记录,
- 单击“历史记录”按钮,查看修改历史。单击历史ID前的下拉图标,展示修改前后SQL对比。
- 单击对应时间后的“回滚”,可以回滚至此次修改前的状态。
图7 修改历史
对象迁移验证
- 单击“下一步”,进入迁移验证界面。默认显示“迁移”页签界面。
图8 迁移
- 单击“迁移验证配置”,可以对迁移过程中的迁移行为进行详细设置。
- 显示迁移项目的详细信息,包括对象类型、总数、迁移成功、迁移失败、剩余量等信息。当在“迁移验证配置”中设置了不迁移转换失败对象时,还会展示“转换失败不迁移”信息。
- 单击操作列“详情”,跳转至“对象校正”界面,可以查看迁移详情,语法转换等情况。
- 单击“启动”开始进行迁移验证,开始将对象迁移至目标数据库中。
迁移成功:可登录目标库查看迁移对象,也可以查看步骤3。
迁移失败:单击失败对象后的“详情”,跳转至校正转换失败对象,重新进行对象的手工校正。
- 迁移完成后,单击“迁移历史”,查看迁移详情。
以倒序显示已经迁移过项目的详细信息,包括序号、总数、迁移成功、迁移失败等。可以查看“详情”。
- 单击“详情”,显示对象类型、总数、迁移成功、迁移失败等信息。可以查看各对象类型的详细信息。
- 单击对象类型后的“详情”,显示Schema、对象名称、对象类型、迁移状态等信息。可以依据具体对象名称搜索,也可以查看各Schema的详细信息。