更新时间:2024-04-22 GMT+08:00

步骤一:创建评估项目

操作场景

  • 向用户介绍创建评估项目的流程。
  • 评估项目允许用户评估源数据库,以便将源数据库对象迁移到所选目标数据库。
  • 同时存在多个待评估项目时,在同一时间段内,支持三个项目“预迁移评估”任务的并行。

使用建议

  • 建议使用非生产环境数据库。
  • GoldenDB为源库时,建议使用CN节点上用户来创建评估任务。

约束限制

  • MySQL、GoldenDB为源库时用户名称不支持特殊字符,包括单引号、双引号、反斜杠等。
  • MySQL、GoldenDB为源库时SCHEMA名称不支持英文双引号,此特殊字符会导致迁移失败。
  • 同一套源库中UGO不支持评估同名的重载函数。
  • 每个用户最多支持10评估任务配额。

操作步骤

  1. 登录UGO控制台。
  2. 单击左侧导航栏结构迁移 > 数据库评估
  3. 在评估数据库页面,单击右上角的“创建项目”
  4. 查看源数据库准备和授权,源库准备完成后,单击“启动创建”
  5. 进入基本信息页面,完成基本信息的填写。具体参数详见表1

    基本信息填写完成后,“开始测试”高亮显示。
    图1 创建评估项目
    表1 基本详情参数说明

    参数名称

    说明

    项目名称

    在项目列表中显示的名称。

    长度范围为5到50个字符,只允许包含英文字母、数字、下划线、中划线,不区分大小写且必须以字母开头、数字或字母结束的唯一名称。

    异常通知方式(可选)

    默认方式为SMN主题。

    若出现异常情况,是否通过消息通知服务(Simple Message Notification)向用户发送消息。

    若需要发送消息,需要先创建SMN主题,具体请参见创建主题

    说明:

    后续操作

    创建完主题后,您就可以添加订阅了。完成创建和添加订阅后,后续的告警通知即可通过SMN服务发送到你配置的订阅终端。

    企业项目

    对于已成功关联企业项目的用户,仅需在“企业项目”下拉框中选择目标项目。

    如果需要自定义企业项目,请前往项目管理服务进行创建。关于如何创建项目,详见《项目管理用户指南》。

    目标数据库评估(可选)

    • 跳过目标数据库评估: UGO采集数据,但不评估目标数据库,在查看评估项目具体信息中目标数据库分析页签将仅显示目标数据库选择。建议在已确定要迁移的目标数据库时选择。

      若成功创建评估任务后需要再次打开评估功能,可在评估项目列表中下拉选择“重新评估”。在下拉中进行过后,才可以在查看评估项目具体信息时,在“目标数据库分析”页签选择“重新评估”

    • 不跳过目标数据库评估: 生成目标数据库的总结和评估报告。从源数据库采集数据后,目标数据库的评估和分析需要一些时间。

    默认勾选“跳过目标数据库评估”

    说明:

    Microsoft SQL Server为源,仅能默认勾选“跳过目标数据库评估”

    源数据库类型(可选)

    请选择源数据库类型。当前支持的源库类型有ORACLE-10g/11g/12c/18c/19c/21c、MySQL-5.5/5.6/5.7/8.0、GoldenDB、PostgreSQL-10/11/12/13/14/15、Microsoft SQL Server-2012/2014/2016/2017/2019和Informix-11/12。

    如果您需要选择GoldenDB、Microsoft SQL Server-2012/14/16/17/19或PostgreSQL-10/11/12/13/14/15为源库,需要在管理控制台右上角,选择“工单 > 新建工单”,联系客服开通白名单。

    说明:

    若选择MySQL为源库,需在源库中进行如下设置,启用CPU计数。

    SET GLOBAL innodb_monitor_enable = cpu_n;

    网络类型(可选)

    公网网络:通过弹性公网IP(Elastic IP,EIP)进行源库连接。

    如果源库网络有IP白名单限制,请将弹性公网IP添加至源库网络白名单,确保UGO可以连接源库。

    • 华南-广州弹性公网IP:124.71.59.255
    • 亚太-新加坡弹性公网IP:110.238.109.54
    • 拉美-圣地亚哥弹性公网IP:159.138.116.198

    连接方法(可选)

    可选择服务名称或连接字符串。默认选择服务名称。以下以选择服务名称为例。

    后续信息依据此处选择而变化显示。

    • Oracle:
      兼容IPv4的JDBC格式:
      • ip:port:databaseName
      • ip:port/databaseName
      • jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ip)(PORT=port)))(CONNECT_DATA=(SERVICE_NAME=databaseName)))
      • jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCPS)(HOST=ip)(PORT=port)))(CONNECT_DATA=(SERVICE_NAME=databaseName)))
    • MySQL:
      兼容IPv4的JDBC格式:
      • jdbc:mysql://ip:port/databaseName?useUnicode=true&characterEncoding=UTF-8
      • jdbc:mysql://ip:port/databaseName?useUnicode=true&characterEncoding=UTF-8&useSSL=true&requireSSL=true
      • jdbc:mysql://ip:port/databaseName?useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true
      • jdbc:mysql://address=(protocol=tcp)(host=ip)(port=port)/databaseName?useUnicode=true&characterEncoding=UTF-8
      • jdbc:mysql://address=(protocol=tcp)(host=ip)(port=port)/databaseName?useUnicode=true&characterEncoding=UTF-8&useSSL=true&requireSSL=true
      • jdbc:mysql://address=(protocol=tcp)(host=ip)(port=port)/databaseName?useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true
    • PostgreSQL:

      兼容IPv4的JDBC格式:

      • jdbc:postgresql://ip:port/databaseName
    • GoldenDB
      兼容IPv4的JDBC格式:
      • jdbc:mysql://ip:port/databaseName?useUnicode=true&characterEncoding=UTF-8
      • jdbc:mysql://ip:port/databaseName?useUnicode=true&characterEncoding=UTF-8&useSSL=true&requireSSL=true
      • jdbc:mysql://ip:port/databaseName?useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true
      • jdbc:mysql://address=(protocol=tcp)(host=ip)(port=port)/databaseName?useUnicode=true&characterEncoding=UTF-8
      • jdbc:mysql://address=(protocol=tcp)(host=ip)(port=port)/databaseName?useUnicode=true&characterEncoding=UTF-8&useSSL=true&requireSSL=true
      • jdbc:mysql://address=(protocol=tcp)(host=ip)(port=port)/databaseName?useUnicode=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true
    说明:
    • 连接字符串,需使用标准的JDBC连接源数据库。
    • Microsoft SQL Server为源时,仅能选择“服务名称”进行连接。

    主机类型

    请选择主机名或者主机IP地址。

    主机名/IP地址

    • 依据上一步的选择、请选择主机名或者主机IP地址。
    • 填写主机名称。
    • 支持多个主机名,总长度不超过1024位,各个主机名之间用英文逗号分割。
    • 主机名格式形如:
      • example.com
      • {part1}.{part2}.{part3}
    • 主机名单个长度不超过253位,各个part由英文符号“.”进行分割。
    • 对于{part}格式规则要求:

      1. 长度在1到127位之间。

      2. 有且只能包含a-z,A-Z,0-9,“-”。

      3. 开头字符可以为a-z,A-Z,0-9。

      4. 结尾字符不能是“-”。

    源数据库名称

    待评估源数据库名称。

    请输入由字母、数字、.、_、-、$、#组成,长度是2-128个字符,必须以字母、数字、.、_、-开头且允许使用"包裹的名称

    说明:

    当MySQL为源时,不显示该参数。

    主机名/IP地址

    依据上一步的选择,填写具体主机名称或者主机IP地址。

    不支持IPv6。

    主机端口

    数据库的端口。端口范围为5-65535。

    用户名

    源数据库的用户名,最多128个字符。建议连接用户应具有管理员角色,但不要使用sys用户。

    请输入由字母、数字、.、_、-、$、#组成,长度是2-128个字符,必须以字母、数字、.、_、-开头且允许使用"包裹的用户名。

    密码

    源数据库的有效密码,最多50个字符。

    SSL类型(可选)

    当前“单项SSL”连接不可用,请选择“不使用SSL”进行连接。

    • 不使用SSL:如果不启用SSL安全协议,数据安全可能存在潜在风险。
    • 单项SSL:将对数据库身份进行认证并启用安全加密传输。
      • 上传文件:上传JKS类型的根证书文件。
      • 信任密码:用于访问证书的信任库密码。
    说明:
    • PostgreSQL为源库时,仅支持上传PEM类型的SSL证书,且不需要输入“信任密码”
    • Oracle-10g/11g为源库时,不支持单向SSL连接。
    • 若选择“单项SSL”,必须同时正确选择上传文件、填写信任密码,这些信息为用户私有。
    • SSL(Secure Socket Layer,安全套接层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。

    数据收集模式(可选)

    仅Oracle为源可选择是“从DBA视图”还是“从所有视图”中采集数据。默认选择“从所有视图”

    • 从DBA视图:从整个数据库实例中的对象中进行数据采集。
    • 从所有视图:当前用户可以访问的所有对象(包含用户拥有的对象)进行数据库采集。

    标签(可选)

    可使用TMS的预定义标签功能将相同的标签添加到不同的云资源中。具体请查看标签管理服务 TMS

    输入一对一的“键”和“值”后单击“添加”

    最多可添加20个标签。具体操作详见标签

  6. 单击“开始测试”

    • 测试连接成功:“下一步”按钮高亮显示。
    • 测试连接失败:给出错误提示“无法连接到数据库”

  7. (可选项)测试网络稳定性。测试网络稳定性成功仅表示当前测试时网络时延低,无丢包或丢包率很低。需要10到15s。
  8. 单击“下一步”,进入预检查页面。

    显示各检查项的检查结果,若存在“失败”“告警”项,显示“原因”“建议”。也可“重新检查所有权限”
    图2 Oracle为源库预检查

    若存在失败项,会显示失败检查项的失败原因及修改建议,参考“建议”进行修改后“重新检查所有权限”

    Oracle为源库:

    • 如果DBMS_METADATA权限检查、动态视图权限检查和Schema对象数量检查失败,将无法进行下一步。
    • 如果DBA权限的“检查结果”“警告”,评估项目仍能创建成功,但可能由于权限不足导致部分对象无法采集。
    • 如果DBMS_METADATA SQL格式化参数设置的“检查结果”“警告”,评估项目可以创建成功,但是采集出的SQL格式可能存在问题,导致评估和转换失败。

    MySQL、GoldenDB为源库:“show_rountine”可以为告警,剩余检查项必须检查通过,否则无法进行下一步。

    Microsoft SQL Server为源库:所有检查项必须检查通过,否则无法进行下一步。

  9. 所有结果均成功后,单击“下一步”。进入选择评估范围页面。

    图3 选择评估范围
    表2 选择评估范围参数说明

    参数

    说明

    选择需采集的对象类型

    默认“全选”,也可依据实际情况手动勾选需采集的对象类型。

    说明:

    当源库类型为MySQL且版本在8.0以下时,MySQL不支持ROLE对象的创建,所以UGO不采集ROLE对象。

    当源库为GoldenDB时,GoldenDB不支持ROLE对象的创建,所以UGO不采集ROLE对象。

    选择目标数据库

    依据实际情况,勾选所需的目标库类型作为目标数据库。也可全选,单击

    若您确定某个数据库不作为目标库,可不将其作为选定的目标数据库,该数据库将不参与评估。

    动态SQL评估

    打开则分析对象中包含的动态SQL,关闭则不分析。

    当前UGO仅识别动态SQL,不做任何处理。

    选择需采集的schema

    依据实际情况手动勾选需采集的schema,可搜索也可全选,单击

    若schema较多,可依据Schema名称进行搜索。所选Schema信息及总数会显示在右侧。

    须知:
    • 如果有多个具有相同名称(忽略大小写)的Schema,请选择其中一个。
    • 采集的Oracle Lightweight Jobs将作为PROGRAM对象类型。
    • 程序只会采集用户权限范围内的数据库对象,即勾选的schema。
    • 源库对象类型用于数据库评估兼容性分析和对象迁移。
    • 所有采集的数据存储在租户区的源数据库中,数据库密码会加密存储,相关数据只有用户在UGO界面可见。
    • 当用户删除迁移任务以及注销UGO时,用户数据将被删除。
    • 仅当Oracle为源库时,支持动态SQL相关评估。

  10. 选择完成后,单击“下一步”,进入任务确认页面。

    • 显示基础信息、预检查情况、选定的目标数据库、已选择及未选择的schema和对象类型。
    • GoldenDB为源时,数据库配置和实例数量不显示。
    Microsoft SQL Server为源时,数据库操作系统、连接串、数据库时区、数据库配置和数据库内存信息不显示。
    图4 任务确认-Oracle为源

  11. 检查无误后,单击“创建”。显示“项目创建成功!”
  12. 单击“确定”,返回数据库评估页面,用户可以看到最新创建的评估项目已在列表中。

    需要经过数据采集、项目评估和预迁移评估,可在“项目状态”中查看实时状态。也可“停止”“恢复”正在评估的项目。
    图5 创建成功
    • 一个租户下,只能创建10个评估项目。
    • “项目状态”“进行中 待确认目标数据库”之前,可停止及恢复正在创建的评估项目。当“项目状态”“进行中 待确认目标数据库”时,可直接确认目标数据库,也可以“重新评估”。但GoldenDB源库不支持“重新评估”
    • 等待时间依据所选对象数量而定。
    • 评估完成后,可单击具体“项目名称”查看项目详细信息
    • 数据采集过程中,如果与源数库的连接中断,系统内部的自动重试机制会定期测试其与源数据库的连接,并重试连接。下次重试连接时间:当前时间 + 检查测试连接和网络稳定性连接所需的时间 + 重试睡眠间隔。每次检查测试连接和网络稳定性连接所需的时间有几秒的误差。因此,用户可能会看到两个重试时间之前相差几秒。