#数据源管理

数据源管理功能用于管理YMP服务所涉及的全部数据库,包括:源端数据库、目标端数据库、评估数据库(若选择评估内置库则无需添加,若指定为外置库则需要添加到数据源供评估使用)。

# 添加数据源

单击右上角【+ 添加数据源】,填写基础信息之后单击【测试连接】,只有测试连接成功才可以成功添加数据源。

在添加数据源时会同步获取数据源的版本和连接信息。

添加数据源

添加数据源字段说明:

  • 数据源名称:系统内唯一数据源名称。
  • 数据源类型:支持选择Oracle、MySQL、YashanDB、DM、PG(PG目前仅支持评估及元数据迁移)。
  • 主机IP:数据库所在IP地址。
  • 端口:数据库监听端口。
  • 数据库:可选项,Oracle、PG必填、MySQL、DM、YashanDB选填。
  • 用户名:数据库连接用户(连接用户需要有迁移平台所需权限,详见:数据源权限配置)。
  • 密码:数据库连接用户密码。
  • 是否为普通用户:仅Oracle和DM数据源支持,默认为非普通用户,详见:普通用户权限配置

# 修改数据源

单击【修改】,填写修改信息之后单击【测试连接】,只有测试连接成功才可以成功修改数据源信息。

修改数据源时会检查该数据源是否与迁移和评估的任务关联:

  • 若未关联,允许修改IP、端口号、数据库名称、数据库用户名和数据库密码。
  • 若有关联,只允许修改数据库密码。

数据源不可修改

# 删除数据源

单击【删除】时会校验该数据源是否与迁移和评估的任务关联,如果关联则不允许删除。

数据源不可删除

# 数据源权限配置

若要进行周期校验,源端与目标端用户都要具备FLASHBACK ANY TABLE权限。

# 源端

源端的数据库连接用户,需要根据任务所要完成的步骤赋权,详情见:

# 单评估

GRANT CREATE SESSION TO username;  
GRANT SELECT_CATALOG_ROLE TO username; 

# 单迁移

GRANT CREATE SESSION TO username;
GRANT SELECT ON DBA_OBJECTS TO username;
GRANT SELECT ON DBA_EXTENTS TO username;
GRANT SELECT ON DBA_SEGMENTS TO username;
GRANT SELECT ON DBA_LOBS TO username;
GRANT SELECT ANY TABLE TO username;(建议权限,不强制要求,可被迁移表的SELECT ON权限替换)
GRANT SELECT ANY SEQUENCE TO username;(建议权限,不强制要求,可被迁移序列的SELECT ON权限替换)
GRANT SELECT ON DBA_TAB_COLS TO username; (建议权限,不强制要求,预检查不检查表风险类型可不要)
GRANT SELECT ON DBA_SCHEDULER_JOBS TO username; (建议权限,不强制要求,预检查不检查活跃定时任务可不要)
GRANT SELECT ON DBA_MVIEWS TO username; (建议权限,不强制要求,预检查不检查物化视图可不要)

# 单校验

GRANT CREATE SESSION TO username;
GRANT SELECT ON DBA_OBJECTS TO username;
GRANT SELECT ON V_$PARAMETER TO username;
GRANT SELECT ON V_$SESSION TO username;
Oracle 9i和10g需要:GRANT SELECT ON DBA_EXTENTS TO username;
其他版本需要:GRANT SELECT ON DBA_SEGMENTS TO username;
GRANT SELECT ON DBA_TABLES TO username;
GRANT SELECT ON DBA_TAB_COLUMNS TO username;
GRANT SELECT ON DBA_CONS_COLUMNS TO username;
GRANT SELECT ON DBA_CONSTRAINTS TO username;
GRANT SELECT ANY TABLE TO username;

# 评估+迁移

单评估权限+
GRANT SELECT ANY TABLE TO username;(建议权限,不强制要求,可被迁移表的SELECT ON权限替换)
GRANT SELECT ANY SEQUENCE TO username;(建议权限,不强制要求,可被迁移序列的SELECT ON权限替换)

# 迁移+校验

单迁移权限+
GRANT SELECT ON V_$PARAMETER TO username;
GRANT SELECT ON V_$SESSION TO username;
GRANT SELECT ON DBA_TABLES TO username;
GRANT SELECT ON DBA_TAB_COLUMNS TO username;
GRANT SELECT ON DBA_CONS_COLUMNS TO username;
GRANT SELECT ON DBA_CONSTRAINTS TO username;

# 评估+迁移+校验

单评估权限+
GRANT SELECT ANY TABLE TO username;(建议权限,不强制要求,可被迁移表的SELECT ON权限替换)
GRANT SELECT ANY SEQUENCE TO username;(建议权限,不强制要求,可被迁移序列的SELECT ON权限替换)

# 目标端

Note:

YashanDB目标端权限检查至少需要SELECT ON V_$PARAMETER权限,如果赋予了DBA可包含该权限,否则需要加上。

GRANT DBA TO username;

# 普通用户权限配置

普通用户适用于仅迁移该用户下的对象和数据的场景,普通用户仅需最小权限。但存在以下限制:

  • 迁移对象不能依赖于其他schema下的对象。如:迁移某个视图对象,该视图将查询其他schema下的表。
  • 校验初始化中的高级配置,对其性能配置的检查失效,无法判断源端可用的连接数是否满足用户配置的连接数。详见:校验初始化
  • Oracle做源的数据迁移时不支持大表拆表。由于普通用户缺少拆分数据来源,拆分配置参数失效。

普通用户所需的权限为:

GRANT CONNECT TO username;<br>GRANT RESOURCE TO username;
edit-icon
反馈
coperate-icon
coperate
合作
communication-icon
communicate
交流