
# 步骤二：语法转换
#### 操作场景
迁移项目创建完成后，进行对象迁移时，在"语法转换"页面，选择期望转换迁移的对象内容，进行迁移。根据业务需求，可以设置某个对象的是否转换，也可以批量设置某一类型是否转换。
#### 约束限制
- 当源库为GoldenDB、MySQL（版本在8.0以下）时，不支持ROLE对象的创建，所以UGO不对ROLE对象进行采集且展示ROLE对象的数量为0。
- 如果要迁移数据，建议暂时跳过触发器迁移，否则迁移过程触发器可能改变数据，数据迁移完成后再单独迁移触发器。
- 对象状态为"异常"的对象，表示源库中该对象本身存在异常，"是否转换"自动显示为"否"，无法转换。
 
#### 前提条件
- "项目状态"为"就绪"且目标库信息正确、测试连接成功。
- 目标数据库连接的用户需要具有Schema、表、程序、索引、用户、函数、视图等对象的创建、删除及更改权限。
 
#### 启动语法转换
1. [登录UGO控制台。](https://console.huaweicloud.com/ugo/#/console/dashboard)
2. 单击左侧导航栏"结构迁移 \> 对象迁移"，显示迁移项目列表。
3. 单击待迁移项目的"操作 \> 迁移 \> 语法转换"，进入"语法转换"页面。 
   图1转换任务   
   ![](https://support.huaweicloud.com/usermanual-ugo/zh-cn_image_0000002658726809.png)
   
   
4. 单击"启动"，进行语法的转换。
5. 转换完成之前，可以单击"暂停"，流程将被暂停。单击"恢复"，将继续进行转换流程。
6. 转换完成后，可单击"转换报告"进入"最近一次转换报告"页面，单击"下载报告"，选择所需报告单击"下载"，下载至本地供用户分析。 
   - 转换错误及风险报告：该报告介绍了无法等价转换为目标库语法的源库对象详情，以及介绍了基于用户所选的配置项，冒一定风险转换为目标库语法的源库对象，但转换后存在一定的功能差异。
   
   - 匿名化转换错误及风险报告：该报告通过匿名方式介绍了无法等价转换为目标库语法的源库对象，以及介绍了基于用户所选的配置项，冒一定风险转换为目标库语法的源库对象，但转换后存在一定的功能差异。
   
   
   
   
7. 转换完成后，可单击"转换报告"进入"最近一次转换报告"页面，单击"转换历史"页面，可查看转换历史详情信息，单击"操作\>详情"，进入对象类型转换详情页面，选择具体对象类型，再次"单击操作\>详情"，可按"schema"查看具体对象转换情况，也可按"转换状态"查看具体对象转换情况，也可按"对象名称搜索"查看具体对象的转换情况，参见[查看语法转换历史详情]。
8. （可选）语法转换迁移完成，若有转换失败对象，可进行单独语法转换修改并直接迁移，具体参考[4](https://support.huaweicloud.com/usermanual-ugo/ugo_03_0021.html#ugo_03_0021__li7663114282014)。
 
#### 配置策略
1. 单击左侧导航栏"结构迁移 \> 对象迁移"，显示迁移项目列表。 
   单击待迁移项目的"操作 \> 迁移\>语法转换"，进入"语法转换"页面，单击"配置策略"，弹出"配置策略"页面。
   图2配置策略   
   ![](https://support.huaweicloud.com/usermanual-ugo/zh-cn_image_0000002656790811.png)
   - 覆盖手工修改结果：
     - 不勾选：默认"不勾选""覆盖手工修改结果"，再次启动转换，不会覆盖手工修改的SQL语句。
     
     - 勾选：若"勾选""覆盖手工修改结果"，再次启动转换，会覆盖手工修改的SQL语句，请谨慎操作，防止手工修改SQL被再次重新转换结果覆盖掉。
      
   
   - 选择转换模式：
     - 按对象类型转换，可选择需要迁移的具体对象类型。
     
     - 导入转换对象，下载模板，将待转换对象的信息填入Excel文件，上传Excel文件。详情可参考[导入转换对象]。
      
    
   
   
 
 #### 导入转换对象
1. 单击左侧导航栏"结构迁移 \> 对象迁移"，显示迁移项目列表。
2. 单击待迁移项目的"操作 \> 迁移\>语法转换"，进入"语法转换"页面。 
   图3对象列表   
   ![](https://support.huaweicloud.com/usermanual-ugo/zh-cn_image_0000002626391546.png)
   
   
3. 单击"配置策略"按钮，弹出"配置策略"窗口，单击"导入转换对象"。 
   图4导入转换对象   
   ![](https://support.huaweicloud.com/usermanual-ugo/zh-cn_image_0000002626551454.png)
   - 单击"下载Excel文件模板"，下载对应模板。
     - Excel表格第一列为Schema，第二列为对象类型，第三列为对象名称，三列唯一指定一个对象（内容区分大小写），都不可为空。
      
   
   - 通过上传Excel，批量指定需要转换的对象。
     - 表格最大不超过30M，行数最多为65535行（不包括表头），若内容有错误，可通过 上传结果的"查看错误"查看错误原因，修改后可直接再次上传。
     
     - 表格上传成功后，对象的"是否转换"自动更新。
     
     - "导入转换对象"上传Excel文件时，识别列表中符合schema、对象类型及对象名称的所有对象，均标记为"正常"状态。
      
   
   
   
   
 
#### 表对象的分布映射
若源库类型为 Oracle、MySQL，目标库数据类型为 GaussDB 分布式时，可设置表对象的分布映射。
- 复制表：支持选中一个或多个表对象，单击列表上方的"复制表"，将选中的表对象批量设置为复制表。对象名称后展示分布映射为复制表。
- 分布映射：单击具体表对象"对象类型 \> 分布映射"，支持将单个表对象的分布映射修改为复制或按指定的列哈希分布。对象名称后展示分布映射为复制表或哈希（列名）。
- 删除分布映射：单击具体表对象"对象类型 \> 分布映射 \> 删除分布映射"，取消指定表对象的分布映射关系。对应对象名称后展示的分布映射将同步删除。
  ![](https://support.huaweicloud.com/usermanual-ugo/public_sys-resources/note_3.0-zh-cn.png)
  选择哈希分布映射，将在下拉框中展示所有符合 GaussDB 分布列数据类型约束的字段。
  
 
 #### 查看语法转换历史详情
1. 单击左侧导航栏"结构迁移 \> 对象迁移"，显示迁移项目列表。
2. 单击待迁移项目的"操作 \> 迁移"，进入迁移项目，选择"语法转换"页签，进入"转换任务"页面。
3. 单击"转换报告"跳转到转换报告页面，单击"转换历史"页面。 
   按倒序显示已转换项目的详细信息，包括对象类型、总数、跳过、转换成功、转换失败、忽略、手工修改、剩余量、转换状态，开始时间、结束时间等信息。
   图5转换历史   
   ![](https://support.huaweicloud.com/usermanual-ugo/zh-cn_image_0000002656670861.png)
   
   
4. 单击"详情"，显示对象类型、转换成功、转换失败、跳过、忽略、手工修改等信息。可以查看各对象类型的详细信息。 
   图6对象类型转换详细信息   
   ![](https://support.huaweicloud.com/usermanual-ugo/zh-cn_image_0000002656790813.png)
   
   
5. 单击对象类型后的"详情"，显示Schema、对象类型、对象名称、转换状态等信息。可以依据具体对象名称搜索，也可以查看各Schema的详细信息，也可以查看各个对象的转换状态。 
   图7schema转换详细信息   
   ![](https://support.huaweicloud.com/usermanual-ugo/zh-cn_image_0000002626391548.png)
   
   
6. 单击对象后的"详情"，显示详细代码信息。 
   图8对象详细信息   
   ![](https://support.huaweicloud.com/usermanual-ugo/zh-cn_image_0000002626551456.png)
   
   
 
