Updated on 2024-03-08 GMT+08:00

Step 1: Create an Evaluation Project

Scenarios

  • You want to create an evaluation project.
  • An evaluation project evaluates source databases and then help you migrate the database objects of source databases to the selected target databases.
  • If there are multiple projects to be evaluated at the same time, the pre-migration evaluation of the three projects can be performed concurrently in a given period.

Suggestions

  • Use a database in a non-production environment.
  • GoldenDB as the source database: Create an evaluation task as a CN user.

Constraints

  • If the source database type is MySQL or GoldenDB, the username cannot contain special characters, such as single quotation marks ('), double quotation marks ("), and backslashes (\).
  • If the source database type is MySQL or GoldenDB, the schema name cannot contain double quotation marks ("). Otherwise, the migration fails.
  • UGO cannot evaluate overloaded functions with the same name in the same source database.
  • Each user can create up to 10 evaluation projects.

Procedure

  1. Log in to the UGO console.
  2. In the navigation pane on the left, choose Schema Migration > DB Evaluation.
  3. Click Create Project in the upper right corner.
  4. Read Source Database Preparation and Authorization Tips and click Create.
  5. Enter the basic information on the Basic Information page. For details about the parameters, see Table 1.

    After the basic information is entered, the Test button is available.
    Figure 1 Evaluation project creation
    Table 1 Parameter description

    Parameter

    Description

    Project Name

    Enter a project name.

    The name is unique. It can contain 5 to 50 characters and must start with a letter and end with a digit or letter. Only letters (case-insensitive), digits, underscores (_), and hyphens (-) are allowed.

    (Optional) Exception Notification Mode

    SMN Topic

    Specifies whether to report exceptions through Simple Message Notification (SMN).

    To create an SMN topic, see Creating a Topic.

    NOTE:

    Follow-up Operation

    After the topic is created, you can add a subscription. After the subscription has been confirmed, alarm notifications will be sent to the subscription endpoint via SMN.

    Enterprise Project

    If you have been associated with an enterprise project, select the target project from the Enterprise Project drop-down list.

    You can also go to the project management console to create a project. For details about how to create a project, see Enterprise Management User Guide.

    (Optional) Target DB Analysis

    • Select Skip Target DB Evaluation: UGO will only collect data and not analyze the target database. There are only recommended target databases in the Target DB Analysis tab when you view evaluation project details. Select this option if you already have a confirmed target database.

      If you need to re-evaluate the task after the evaluation project is created, go to the evaluation project list page, locate the project and choose More > Re-Evaluate in the Operation column. After the re-evaluation task is complete, click the project name to go to the Source DB Analysis page. On the Target DB Analysis page, the Re-Evaluate button is displayed. For details, see Viewing Evaluation Project Details.

    • Deselect Skip Target DB Evaluation: UGO will analyze different target databases to produce summary and evaluation reports. Database analysis takes some time after data collection.

    This option is selected by default.

    NOTE:

    If the source database type is Microsoft SQL Server, this option is selected by default and cannot be deselected.

    (Optional) Source DB Type

    Select a source database type. Currently, the following source database types are supported: 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, and Informix-11/12.

    If you want to select GoldenDB, Microsoft SQL Server 2012/14/16/17/19, or PostgreSQL 10/11/12/13/14/15 as the source database, submit an application by choosing Service Tickets > Create Service Ticket in the upper right corner of the management console.

    NOTE:

    If the source database type is MySQL, run the following command on the source database to enable the CPU count function.

    SET GLOBAL innodb_monitor_enable = cpu_n;

    (Optional) Network Type

    Public Network: An elastic IP address (EIP) is used to connect to the source database.

    If the source database network is restricted by the IP address whitelist, add the EIP to the source database network whitelist to ensure that the UGO can connect to the source database.

    • EIP in CN South-Guangzhou: 124.71.59.255
    • EIP in AP-Singapore: 110.238.109.54
    • EIP in LA-Santiago: 159.138.116.198

    (Optional) Connection Method

    Select Service name or Connection string. Service name is used by default. The following uses the service name as an example.

    Subsequent parameters vary depending on your selection of this parameter.

    • Oracle:
      Compatible with JDBC formats of IPv4:
      • 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:
      Compatible with JDBC formats of IPv4:
      • 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:

      Compatible with JDBC formats of IPv4:

      • jdbc:postgresql://ip:port/databaseName
    • GoldenDB
      Compatible with JDBC formats of IPv4:
      • 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
    NOTE:
    • For connection string, the standard JDBC is used to connect to the source database.
    • If the source database type is Microsoft SQL Server, only Service name can be selected for connection.

    (Optional) Host Type

    Select Hostname or Host IP address.

    If the source database type is Microsoft SQL Server, only Host IP address can be selected.

    Source DB Name

    Enter the name of the database to be evaluated.

    The name can contain 2 to 128 characters and must start with a letter, digit, period (.), underscore (_), or hyphen (-). Only letters, digits, periods (.), underscores (_), hyphens (-), dollar signs ($), and number signs (#) are allowed. The name can be enclosed in double quotation marks ("").

    NOTE:

    This parameter is not displayed when the source database type is MySQL.

    Hostname or Host IP Address

    Enter the host name or host IP address based on the selected host type.

    IPv6 is not supported.

    Host Port

    Enter a database port. The port number ranges from 5 to 65535.

    Username

    Enter the username of the source database. It can contain up to 128 characters. You are advised to use the administrator username.

    The username can contain 2 to 128 characters and must start with a letter, digit, period (.), underscore (_), or hyphen (-). Only letters, digits, periods (.), underscores (_), hyphens (-), dollar signs ($), and number signs (#) are allowed. The username can be enclosed in double quotation marks ("").

    Password

    Enter the password of the source database. The value contains up to 50 characters.

    (Optional) SSL Type

    Select No SSL. Currently, One-way SSL is unavailable.

    • No SSL: The SSL security protocol is disabled. There may be potential security risks.
    • One-way SSL: The target database will be authenticated and transmission will be encrypted.
      • Upload: Upload the root certificate file in JKS format.
      • Trust Store Password: Enter the password of the trust store used to access the certificate.
    NOTE:
    • If the source database type is a PostgreSQL, only PEM SSL certificates can be uploaded, and the trust password is not required.
    • If the source database type is Oracle 10g or 11g, one way SSL is not supported.
    • If you select One-way SSL, ensure that the uploaded file and entered password are correct, which are private information of users.
    • Secure Socket Layer (SSL) is an encryption-based Internet security protocol for establishing an encrypted link between a server and a client. It provides privacy, authentication, and integrity to Internet communications.

    Data Collected From (Optional)

    If the source database type is Oracle, select DBA views or All views (default value).

    • DBA views: UGO collects data from objects in the entire source DB instance.
    • All views: UGO collects data from all objects owned and accessed by the source DB user.

    (Optional) Tags

    Use predefined tags in Tag Management Service (TMS). Predefined tags are visible to all service resources that support the tagging function. For details, see Tag Management Service User Guide.

    Enter a key and a value, and click Add.

    You can add up to 20 tags. For details, see Managing Tags.

  6. Click Test next to the Test Connection field.

    • If the connection test succeeds, the Next button will be available.
    • If the connection test fails, error message "Unable to connect to DB" will be displayed.

  7. (Optional) Test network stability. A successful network stability test only means that there is a little network latency or packet loss, or no packet loss at the current time. It takes 10s to 15s to complete.
  8. Click Next to go to the Precheck page.

    All check item results are displayed. If the result of a check item is Failed or Alarm, the related reasons and suggestions are displayed. You can also click Recheck to check the permissions again.
    Figure 2 Prechecking permissions of Oracle database

    If any item fails to be checked, the failure cause and modification suggestions are displayed. After the modification is complete, click Recheck.

    Oracle as the source database type:

    • If the permission check for DBMS_METADATA, Dynamic View or Schema Object Count Check fails, the next step cannot be performed.
    • If Check Result is Alarm, some objects could not be collected because of insufficient permissions, but the evaluation project can still be created successfully.
    • If the check result of DBMS_METADATA SQL Formatting Parameters is Alarm, the evaluation project can be successfully created, but the collected SQL format may be incorrect. As a result, the evaluation and conversion fail.

    MySQL or GoldenDB as the source database type: The check result of show_rountine can be Alarm and the check results of remaining check items must be Success. Otherwise, you cannot go to the next step.

    Microsoft SQL Server as the source database type: All check item results must be Success, or you cannot go to the next step.

  9. After all check items are passed, click Next to go to the Evaluation Scope Selection page.

    Figure 3 Selecting evaluation scope
    Table 2 Parameter description

    Parameter

    Description

    Object Types to be Collected

    By default, all object types are selected. You can also manually select the object types to be collected as required.

    NOTE:

    If the source database type is MySQL and its version is earlier than 8.0, there are no ROLE objects in the source database. UGO does not collect ROLE objects.

    If the source database type is GoldenDB, there are no ROLE objects in the source database. UGO does not collect ROLE objects.

    Target Database Selection

    Select your required target databases. To select all target databases, click .

    The target databases that you did not select will not be evaluated.

    Dynamic SQL Evaluation

    Enable: The dynamic SQL statements in objects are analyzed. Disable: The dynamic SQL statements are not analyzed.

    Currently, UGO only identifies dynamic SQL statements and does not perform any processing.

    Schemas to be Collected

    (Optional) Manually select schemas to be collected and click . You can also select all schemas.

    If there are many schemas, you can search for them by schema name. The names and number of selected schemas are displayed on the right list.

    NOTICE:
    • If there are multiple schemas with the same name (case-insensitive), select one of them.
    • Oracle Lightweight Jobs are collected as part of PROGRAM object type.
    • Only the database objects are collected within the user permission scope, that is, within the selected schemas.
    • After you select object types to be collected, UGO will evaluate their compatibility with the target object types and then migrate them.
    • All collected data is stored in the source database of the tenant. The database password encrypted before being saved. Related data is visible only to you on the UGO console.
    • After you delete migration tasks or deregister UGO, the data is deleted.
    • Dynamic SQL evaluation is available only for Oracle databases.

  10. Click Next to go to the Confirmation page.

    • The basic information, pre-check results, selected target databases, selected and unselected schemas and object types are displayed.
    • If the source database type is GoldenDB, the database configuration and instance quantity are not displayed.
    If Microsoft SQL Server is the source database type, the following information is not displayed: database OS, connection string, database time zone, database configuration, and database memory.
    Figure 4 Confirming information (Oracle as the source database type)

  11. Verify the settings and click Create. A message is displayed, indicating that the project is created successfully.
  12. Click OK to go to the DB Evaluation page. You can view the evaluation project you created in the list.

    Data collection, project evaluation, pre-migration evaluation are required. You can view the status in the Project Status column. You can stop a project that is being evaluated or resume a stopped project.
    Figure 5 Viewing the created project
    • You can create up to 10 evaluation projects.
    • Before Project Status of an evaluation project becomes In progress. Confirm Target DB Pending, you can stop and continue the creation of the project. When Project Status becomes In progress. Confirm Target DB Pending, you can confirm a target database or re-evaluate objects as needed. However, if the source database type is GoldenDB, re-evaluation is not supported.
    • The evaluation time varies depending on the number of objects selected.
    • After the evaluation is complete, you can click the project name to view its details. For details, see Viewing Project Details.
    • During data collection, the system periodically automatically retries the connection to the source database. Next connection retry time: Current time + Time required for checking the connection and network stability + Sleep retry interval. After a connection test, there is several second delay before a network stability check can be performed. You may see a few seconds difference between the two retry times.