更新时间:2024-10-24 GMT+08:00

数据库迁移和验证

操作场景

创建迁移项目创建完成后,启动迁移项目,选择需要迁移对象,根据迁移风险项配置转换方案,启动语法转后,UGO服务会将源库的SQL语法一键转换成目标库语法,转换失败的语法支持手工进行校正,修改完成后,迁移验证阶段,在目标数据库执行,完成源库对象到目标库的迁移,查看迁移进度和详情来确认迁移结果。

数据库迁移验证为五个步骤:

选择对象迁移

  1. 登录UGO控制台。
  2. 单击左侧导航栏结构迁移 > 对象迁移
  3. 在对象迁移页面,单击待迁移项目的“操作 > 迁移”

    在转换计划页面,显示待转换对象及分类。可以按照更新日期或具体对象名称进行搜索,也可依据Schema、对象状态以及转换状态进行筛选。具体对象信息详见查看源库采集结果
    图1 转换计划
    • 界面选取转换对象。
      • 左侧树显示为当前默认转换的全部对象,单击“选择迁移对象类型”,可快速按照类型将不迁移的对象的“转换状态”批量设置为“跳过”
      • 单击Schema前的复选框,勾选具体的对象,选择“跳过转换”或“转换”按钮,选择对象的是否迁移,支持批量操作。可通过对象名称、对象状态等进行过滤筛选。
    • 本地上传指定对象。

      单击“指定转换对象”,下载模板,将待转换对象的信息填入Excel文件,上传Excel文件。详情可参考上传指定迁移对象名称

  4. (可选)设置GaussDB数据分布方式。

    • 当源库为Oracle和MySQL且目标库为GaussDB的分布式时,支持此功能。
    • 对象类型为Table时可设置数据分布方式,详情可参考表对象的分布映射

  5. 当待转换对象中包含user对象时,需要为用户设置统一的密码。单击左上角“用户密码”,在弹窗中完成设置。

    图2 用户密码
    • 如果要转换数据库对象user,必须设置密码才能完成转换。设置的密码将用于目标数据库上创建的所有用户对象,迁移后需要逐一手动修改用户的密码。若不转换数据库对象USER,请选中并单击“跳过转换”,“转换状态”列变为“跳过”,忽略转换。若需继续转换,可选择具体对象并单击“转换”。

      忽略user迁移后,单击下一步,界面会显示提示信息,需要在配置转换方案步骤,在名为“用户连接”的配置项的“当前配置”中,选择“将对象所有者设置为执行GaussDB脚本的用户”选项,否则可能会导致迁移会失败。

    • 建议选择SSL连接。如果选择非SSL连接,密码将在数据库连接以及SQL语句中以明文形式传输,存在潜在的安全风险。
    • 密码创建完成后,在迁移过程中不支持再次修改。
    • 密码长度最少8个字符,最多32个字符。其中至少包含大写字符A-Z、小写字符a-z、数字0-9和特殊字符 ~!@#$%^&*()-_=+\|[{}];:,<.>/?四类字符中的三类,但不能使用空格。可重复字符不能超过3个连续字符。

配置转换方案

  1. 单击“下一步”。进入转换配置页面。
  2. 设置转换配置参数。有两种方式:

    • 默认情况下,使用默认模板,在各个转换配置项中单击操作 > 编辑,查看配置详情,根据实际使用场景进行详细设置。
    • 优先最大化迁移成功率的场景下,可在“基线模板”下拉框选择最大兼容性模板,并根据实际使用场景进行微调。
      图3 设置转换配置

  3. (可选)单击“表空间映射”,进入表空间页面。

    若需添加表空间映射关系,可选择需要的源数据库表空间和对应的目标数据库表空间,单击“映射表空间”

    以下链路支持表空间映射功能。

    • Oracle到GaussDB
    • Oracle到PostgreSQL

启动语法转换

  1. 单击“下一步”,进入语法转换界面。
  2. 单击“启动”,进行语法的转换。

    图4 语法转换
    • 转换完成后页面显示对象类型、总数、转换成功、转换失败等信息以及转换开始时间与结束时间。
    • 页面以进度条和百分比显示迁移进度。

    再次单击“启动”,将再次进行语法转换,会覆盖上一次转换的全部转换数据,包含手工修改的对象,请谨慎操作。如确需重新转换,单击“确认”。

  3. 语法转化完成后,可查看语法转化历史记录和转化详情,可参考查看语法转换历史详情

校正转换失败对象

  1. 单击“下一步”,进入对象校正页面。对象校验页面显示待验证的Schema、对象名称、对象类型等信息。

    图5 对象校正
    • 可对选中的具体对象单击“跳过迁移”,忽略不想验证迁移的对象。
    • 批量语句更新:批量语句更新支持类似问题的批量搜索和修改。如何批量语句更新,可参考批量语句更新

  2. 单击待修改对象操作 > 查看详情,进入对象详细信息页面。可以查看“转换错误”信息和“修改”建议。

    图6 对象详细信息-转换错误
    • 建议按照管理、存储、代码、作业对象的顺序进行对象校正。
    • 迁移后返回对象校正页面并查看迁移失败的对象详情时,展示的是“迁移错误”

  3. 对转换错误或者迁移错误的对象进行SQL语句修改。单击“保存”,会形成修改记录,
  4. 单击“历史记录”按钮,查看修改历史。单击历史ID前的下拉图标,展示修改前后SQL对比。
  5. 单击对应时间后的“回滚”,可以回滚至此次修改前的状态。

    图7 修改历史

对象迁移验证

  1. 单击“下一步”,进入迁移验证界面。默认显示“迁移”页签界面。

    图8 迁移
    • 单击“迁移验证配置”,可以对迁移过程中的迁移行为进行详细设置。
    • 显示迁移项目的详细信息,包括对象类型、总数、迁移成功、迁移失败、剩余量等信息。当在“迁移验证配置”中设置了不迁移转换失败对象时,还会展示“转换失败不迁移”信息。
    • 单击操作列“详情”,跳转至“对象校正”界面,可以查看迁移详情,语法转换等情况。

  2. 单击“启动”开始进行迁移验证,开始将对象迁移至目标数据库中。

    迁移成功:可登录目标库查看迁移对象,也可以查看步骤3

    迁移失败:单击失败对象后的“详情”,跳转至校正转换失败对象,重新进行对象的手工校正。

  3. 迁移完成后,单击“迁移历史”,查看迁移详情。

    以倒序显示已经迁移过项目的详细信息,包括序号、总数、迁移成功、迁移失败等。可以查看“详情”

  4. 单击“详情”,显示对象类型、总数、迁移成功、迁移失败等信息。可以查看各对象类型的详细信息。
  5. 单击对象类型后的“详情”,显示Schema、对象名称、对象类型、迁移状态等信息。可以依据具体对象名称搜索,也可以查看各Schema的详细信息。