
# 实施对象迁移
本章节介绍如何迁移已创建的迁移任务。
#### 操作步骤
1. 在对象迁移页面，单击待迁移项目的"操作 \> 迁移"，进入"语法转换配置"页面。 
   图1设置转换配置   
   ![](https://support.huaweicloud.com/bestpractice-ugo/zh-cn_image_0000002626389840.png)
   - 设置转换配置参数。有两种方式：
     - 默认情况下，使用默认模板，在各个转换配置项中单击"操作 \> 编辑"，查看配置详情，根据实际使用场景进行详细设置。
     
     - 优先最大化迁移成功率的场景下，可在"基线模板"下拉框选择最大兼容性模板，并根据实际使用场景进行微调。
      
   
   
   
   - （可选）单击"表空间映射"，进入表空间页面。 若需添加表空间映射关系，可选择需要的源数据库表空间和对应的目标数据库表空间，单击"映射表空间"。
     
   
   - （可选）单击"标签"，进入"标签"页面。 若需添加标签，可单击"编辑标签"，在"编辑标签"弹出框中，单击"添加标签"，输入标签的键和值。
     
   
   
   
   
2. 单击"下一步"，进入"语法转换"页面。
3. （可选）选择需要转换和迁移的对象。可以按照"全部时间"或"具体对象名称"进行搜索，也可依据"Schema"、"对象状态"以及"转换对象"进行筛选。 
   图2待启动转换   
   ![](https://support.huaweicloud.com/bestpractice-ugo/zh-cn_image_0000002626549762.png)
   - 界面选取转换对象。
     - 单击"全选"或者"取消全选"所有对象是否全部选中或者取消选中。
     
     - 单击Schema前的复选框，勾选转换的具体的对象，单击"关闭转换"或者"开启转换"，选择对象是否迁移，支持批量操作。可通过对象名称、对象状态等进行过滤筛选。
      
   
   - 使用配置策略选取转换对象。单击待迁移项目的"操作 \> 迁移\>语法转换"，下划进入"对象列表"页面，单击"配置策略"，弹出"配置策略"页面。
     图3配置策略   
     ![](https://support.huaweicloud.com/bestpractice-ugo/zh-cn_image_0000002656790811.png) 
   
   - 覆盖手工修改结果：
     - 不勾选：默认"不勾选""覆盖手工修改结果"，再次启动转换，不会覆盖手工修改的SQL语句。
     
     - 勾选：若"勾选""覆盖手工修改结果"，再次启动转换，会覆盖手工修改的SQL语句，请谨慎操作，防止手工修改SQL被再次重新转换结果覆盖掉。
      
   
   - 选择转换模式：
     - 按对象类型转换，可选择需要迁移的具体对象类型。
     
     - 导入转换对象，下载模板，将待转换对象的信息填入Excel文件，上传Excel文件。详情可参考[4]。
      
   
   
   
   
4. （可选）导入转换对象。
   
   单击待迁移项目的"操作 \> 迁移\>语法转换"，下划进入"对象列表"页面。
   图4对象列表   
   ![](https://support.huaweicloud.com/bestpractice-ugo/zh-cn_image_0000002626391546.png)
   单击"配置策略"按钮，弹出"配置策略"窗口，单击"导入转换对象"。
   图5导入转换对象   
   ![](https://support.huaweicloud.com/bestpractice-ugo/zh-cn_image_0000002626551454.png)
   - 单击"下载Excel文件模板"，下载对应模板。
     - Excel表格第一列为Schema，第二列为对象类型，第三列为对象名称，三列唯一指定一个对象（内容区分大小写），都不可为空。
      
   
   - 通过上传Excel，批量指定需要转换的对象。
     - 表格最大不超过30M，行数最多为65535行（不包括表头），若内容有错误，可通过 上传结果的"查看错误"查看错误原因，修改后可直接再次上传。
     
     - 表格上传成功后，对象的"是否转换"自动更新。
     
     - "导入转换对象"上传Excel文件时，识别列表中符合schema、对象类型及对象名称的所有对象，均标记为"正常"状态。
      
    
   
   
5. 进入"转换任务"界面，单击"启动"，进行语法转换。 
   图6转换任务   
   ![](https://support.huaweicloud.com/bestpractice-ugo/zh-cn_image_0000002658726809.png)
   - 转换完成之前，可以单击"暂停"，流程将被暂停。单击"恢复"，将继续进行转换流程。
   
   - 转换完成后，可单击"转换报告"，进入最近一次转换报告页面，单击"下载报告"，选择所需报告单击"下载"，下载至本地供用户分析。
     - 转换错误及风险报告：该报告介绍了无法等价转换为目标库语法的源库对象详情，以及介绍了基于用户所选的配置项，冒一定风险转换为目标库语法的源库对象，但转换后存在一定的功能差异。
     
     - 匿名化转换错误及风险报告：该报告通过匿名方式介绍了无法等价转换为目标库语法的源库对象，以及介绍了基于用户所选的配置项，冒一定风险转换为目标库语法的源库对象，但转换后存在一定的功能差异。
      
   
   - 转换完成后，可单击"转换报告"进入"转换报告"页面，单击"转换历史"，可查看转换历史详情信息，单击"操作\>详情"，进入对象类型转换详情页面，选择具体对象类型，再次"单击操作\>详情"，可按"schema"查看具体对象转换情况，也可按"转换状态"查看具体对象转换情况，也可按"对象名称搜索"查看具体对象的转换情况。
   
   
   
   
6. （可选）语法转换迁移完成，若有转换失败对象，下划进入"对象列表"页面，可进行单独语法转换修改并直接迁移。 
   图7对象列表-语法转换完成但是未迁移   
   ![](https://support.huaweicloud.com/bestpractice-ugo/zh-cn_image_0000002626552174.png)
   单击待修改对象"操作 \> 对象校正"，进入对象详细信息页面。可以查看"转换错误"、"转换风险"信息和"修改"建议。
   图8对象详细信息-转换错误和告警   
   ![](https://support.huaweicloud.com/bestpractice-ugo/zh-cn_image_0000002659113697.png)
   对转换失败的对象进行SQL语句修改。单击"保存"，"转换状态"标记为"手工修改"，然后单击"迁移"，跳出弹框确认是否在目标数据库执行单条SQL语句，单击"确认"。
   图9单条SQL直接迁移验证   
   ![](https://support.huaweicloud.com/bestpractice-ugo/zh-cn_image_0000002628875822.png)
   
   
7. 单击"下一步"，进入"迁移验证"界面。 
   图10迁移任务   
   ![](https://support.huaweicloud.com/bestpractice-ugo/zh-cn_image_0000002656672861.png)
   进入"迁移任务"页面，单击"迁移验证配置"，弹出"迁移验证配置"页面
   图11迁移验证配置   
   ![](https://support.huaweicloud.com/bestpractice-ugo/zh-cn_image_0000002656792819.png)
   - 转换失败对象是否迁移：
     - 不勾选：默认"不勾选""迁移转换失败对象"，转换失败对象不参与迁移任务。
     
     - 勾选："勾选""迁移转换失败对象"，转换失败对象参与迁移任务。
      
   
   - 用户连接：
     - 默认"勾选""将数据库连接用户设置为执行GaussDB脚本的用户"，因此各个schema的owner为数据库连接用户。若"勾选""将对象所有者设置为执行GaussDB脚本的用户"，则各个schema的owner为schema自己。
      
   
   - 修改用户密码：
     - 当待转换对象中包含USER对象时，需要为用户设置统一的密码，设置的密码将用于目标数据库上创建所有用户对象，迁移后需要逐一手动修改用户的密码。
      
   
   
   
   
8. 单击"启动"开始进行迁移验证，开始将对象迁移至目标数据库中。 
   - 迁移成功：进入"对象列表"页面，"迁移状态"标记为"成功"，可登录目标库查看迁移对象。
   
   - 迁移失败：进入"对象列表"页面，"迁移状态"标记为"失败"，进入"对象列表"页面，单击迁移失败对象后的"对象校正"，跳转至[10]，重新进行对象的手工修改并迁移验证。
   
   
   
   
9. 迁移完成后，单击"迁移报告"，弹出"迁移报告"页面： 
   图12迁移报告   
   ![](https://support.huaweicloud.com/bestpractice-ugo/zh-cn_image_0000002656671565.png)
   - "最近一次迁移报告"页面，显示最近一次迁移项目的详细信息，包括对象类型、总数、迁移成功、迁移失败、剩余量等信息。当在"迁移验证配置"中设置了不迁移转换失败对象时，还会展示"转换失败不迁移"，以及迁移成功率等信息。
   
   - "迁移历史"页面，以倒序方式显示迁移历史记录，包括序号、总数、迁移成功、迁移失败、迁移状态、开始时间、结束时间，可以单击"操作\>详情"查看详细信息。
     - 单击"详情"，显示对象类型、总数、迁移成功、迁移失败等信息。可以查看各对象类型的详细信息。
     
     - 单击对象类型后的"详情"，显示Schema、对象名称、对象类型、迁移状态等信息。可以依据具体对象名称搜索，也可以查看各Schema的详细信息。
     
     - 单击对象后的"详情"，显示目标库详细代码信息以及迁移报错信息。
      
   
   - 单击"下载报告"，选择所需报告单击"下载"，下载至本地供用户分析。子对象的相关数据不会统计在迁移报告中。
     - 迁移统计报告：该报告简要介绍了迁移和验证对象的状态。
     
     - 迁移错误报告：该报告介绍了对象迁移失败的详情，包括每个对象的状态、迁移语句和错误信息。
     
     - 迁移错误报告（匿名化）：该报告介绍了对象迁移失败的详情，包括每个对象的状态、迁移语句、错误信息，但源库SQL语句和迁移后的SQL语句均以匿名的形式呈现。
     
     - 迁移全量报告：该报告介绍了对象迁移的详情，包括每个对象的状态、迁移语句和错误信息。
     
     - 迁移全量报告（匿名化）：该报告介绍了对象迁移的详情，包括每个对象的状态、迁移语句和错误信息。但源库SQL语句和迁移后的SQL语句均以匿名的形式呈现。
      
    
   
   
10. 迁移验证完成后，若有迁移失败项，下划到"对象列表"页面，进行单独修改并直接迁移或批量语句更新。
    
    图13迁移验证失败   
    ![](https://support.huaweicloud.com/bestpractice-ugo/zh-cn_image_0000002626553456.png)
    ![](https://support.huaweicloud.com/bestpractice-ugo/public_sys-resources/note_3.0-zh-cn.png)
    - 选择可忽略的迁移对象并单击"关闭迁移"，"迁移状态"变为"忽略"。也可以"开启迁移"，撤销后对应状态恢复原样。
     
    - 单击"批量语句更新"，批量语句更新支持类似问题的批量搜索和修改。
    
    - 单击单条迁移失败修改对象"操作 \> 对象校正"，进入对象详细信息页面。可以查看"迁移错误"和"修改"建议。
      图14对象详细信息-迁移错误   
      ![](https://support.huaweicloud.com/bestpractice-ugo/zh-cn_image_0000002659115199.png) 
    
    
    对迁移失败的对象进行SQL语句修改。单击"保存"，"迁移状态"标记为"待启动"，然后单击"迁移"，跳出弹框确认是否在目标数据库执行单条SQL语句，单击"确认"。
    图15单条SQL直接迁移验证   
    ![](https://support.huaweicloud.com/bestpractice-ugo/zh-cn_image_0000002659235129.png)
    ![](https://support.huaweicloud.com/bestpractice-ugo/public_sys-resources/note_3.0-zh-cn.png)
    - 建议按照管理、存储、代码、作业对象的顺序进行对象校正。
     
    
    
11. （可选）单击"修改历史"按钮，查看修改历史。单击历史ID前的下拉图标，展示修改前后SQL对比。 
    单击对应时间后的"回滚"，可以回滚至此次修改前的状态。
    图16修改历史   
    ![](https://support.huaweicloud.com/bestpractice-ugo/zh-cn_image_0000002628710224.png)
    
    
12. 迁移失败对象全部修改完并迁移到目标数据库，迁移任务完成。
 
#### 后续操作
- 完成迁移后，可删除对应的数据库评估以及对象迁移项目，删除时数据库连接相关信息及源库结构信息会同步删除。但项目删除后不可恢复，请谨慎操作。
 
