更新时间:2024-07-12 GMT+08:00
分享

源数据库准备和授权

创建数据库评估任务时,UGO将检查源数据库的权限。您需在创建评估任务前检查数据库权限,并执行以下操作。

  • Oracle为源库时,为了使DBMS_METADATA.GET_DDL方法返回的对象DDL保持统一,UGO需要对采集的SQL进行格式化,因此需要非只读权限账号。UGO连接时会进行导出参数设置,该设置仅对采集的DDL有效,作用范围是会话级别,不会对源库产生变更及影响。UGO会进行三个参数设置,详细介绍如下:
    • 让表约束、索引将成为CREATE TABLE语句的一部分,不单独生成ALTER TABLE语句。
      DBMS_METADATA.SET_TRANSFORM_PARAM(dbms_metadata.SESSION_TRANSFORM, 'CONSTRAINTS_AS_ALTER', false)
    • 导出的DDL中不包含排序规则子句。
      call DBMS_METADATA.SET_TRANSFORM_PARAM(dbms_metadata.SESSION_TRANSFORM, 'COLLATION_CLAUSE', 'NEVER')
    • 采集后的SQL语句添加分号;
      DBMS_METADATA.SET_TRANSFORM_PARAM(dbms_metadata.SESSION_TRANSFORM, 'SQLTERMINATOR', true)
  • 用户需拥有创建UGO评估项目的对应权限。具体权限,可参见权限管理进行设置。
  • 各源库分别需要具备以下权限,需成功测试连接到源数据库并通过所有预检查项。
    • Oracle源数据库连接用户需要具有待迁移数据库的DBMS_METADATA、动态视图和Schema对象数量检查的权限。
    • MySQL为源库时需要具有MySQL系统库的查询权限、PROCESS权限和待迁移数据库的所有权限。从MySQL-8.0版本开始,针对存储过程和存储函数,还需要SHOW_ROUTINE权限。
    • GoldenDB为源库时需要具有GoldenDB系统库的查询权限、PROCESS权限和待迁移数据库的所有权限。针对存储过程和存储函数,还需要SHOW_ROUTINE权限。
    • Microsoft SQL Server为源库时需要具有VIEW DEFINITION权限。

以MySQL和GoldenDB为源,如果给用户赋予了全局的SELECT权限,SHOW_ROUTINE权限也能通过,无需再单独授予。

分享:

    相关文档

    相关产品