Updated on 2024-11-07 GMT+08:00

Creating an Evaluation Project

Scenarios

Based on basic information (including the number of schemas) about the source database and SQL statements of specific objects, UGO generates a report to evaluate workloads and risks before database migration and recommends a suitable target database, helping you make decisions and work plans during migration.

Suggestions

  • To collect objects, UGO needs to connect to the source database, which may affect the database performance. You are advised to use a database in a non-production environment or perform database evaluation during off-peak hours.
  • 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 (\).
  • 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, 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 basic information on the Basic Information page. Table 1 describes details about the parameters.

    Figure 1 Evaluation project creation

  6. After entering the basic information, click Test.

    • If the connection test succeeds, the Next button will be available.
    • If the connection test fails, an error message is displayed, indicating that the database cannot be connected. For details, see Database Connection Error.

  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. The test lasts for 10 to 15 seconds.
  8. Click Next to go to the Precheck page.

    Figure 2 Prechecking permissions of Oracle database

  9. After all check items are passed, click Next to go to the Evaluation Scope Selection page. Table 2 and Table 3 describe details about the parameters.

    Figure 3 Selecting evaluation scope
    • Only selected database objects are collected.
    • 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.
    • When a user deletes an evaluation task, the user data is deleted.
    • Dynamic SQL evaluation and object-level permission collection are 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 the source database type is Microsoft SQL Server, database OS, connection string, database time zone, database configuration, and database memory are not displayed.
    Figure 4 Confirming information (Oracle as the source database)

    The parameters displayed on the task confirmation page vary depending on the source database.

  11. Verify the settings and click Create. A message is displayed, indicating that the project is created.
  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 the Project Status is In progress. Confirm Target DB Pending, you can confirm a target database by following Confirming the Target Database or re-evaluate objects. 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, click a project name to view the result by following Viewing the Database Evaluation Result.
    • 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.

Parameters

Table 1 Basic information

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.

Source DB Type

Select a source database type. For details about supported source database types, see Supported Databases.

If you want to select GoldenDB, Microsoft SQL Server 2012/14/16/17/19/22, 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 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 AP-Singapore: 110.238.109.54
  • EIP in LA-Santiago: 159.138.116.198

Connection Method

Select Service name or Connection string. Service name is used by default. The following uses 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, 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.

Host Type

Select Hostname or Host IP address.

Hostname or Host IP Address

Host IP Address: IPv6 addresses are not supported.

Hostname:

  • The host name cannot be empty.
  • You can enter multiple host names and use commas (,) to separate them. All host names can contain up to 1,024 characters.
  • A host name can contain a maximum of 253 characters and cannot contain the following special characters: '!', '@', '#', '$', ' %', '^', '&', '*', '(', ')', '+', '=', '[', ']', '{', '}', '|', '\', ':', ';', '<', '>', ',', '?', '/'

DB Name

Name of a source database to be evaluated.

The source database name:

  • Consists of letters, digits, periods (.), underscores (_), hyphens (-), dollar signs ($), and number signs (#).
  • Contains 2 to 128 characters.
  • Starts with a letter, digit, dot (.), underscore (_), or hyphen (-) and can be enclosed in quotation marks (").
NOTE:

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

Host Port

Enter a database port. The port number ranges from 1 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.

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:
  • Secure Socket Layer (SSL) provides a secure connection between the network and application layers. In mutual SSL authentication, an SSL connection between a client and a server is established only if they validate each other's identity using digital signatures. If SSL is disabled, your data may be at risk.
  • If the source database type is Oracle 10g or 11g, one way SSL is not supported.
  • If the source database type is a PostgreSQL, only PEM SSL certificates can be uploaded, and the trust password is not required.

Data Collected From

You can select DBA views or All views to collect data from the source Oracle database. By default, DBA views is selected.

  • 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.

Table 2 Parameters for selecting the evaluation scope

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 target databases and click . You can also select all of them.

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

Schemas to be Collected

Manually select the schemas to be collected and click . You can search for or select all schemas.

If there are many schemas, you can search for them by 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.
Table 3 Advanced settings

Parameter

Description

Target DB Analysis

Whether the target database needs to be evaluated. Skip Target DB Evaluation is selected by default.

  • If Skip Target DB Evaluation is selected, UGO only collects data. The target databases will not be evaluated, so no evaluation report is generated. There are only recommended target databases on the Target DB Analysis tab page when you view the evaluation result by following Viewing the Database Evaluation Result. Select Skip Target DB Evaluation if you have determined a 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, click More and choose Re-Evaluate in the Operation column. You can view the evaluation result of the target database only after the re-evaluation.

  • If you deselect Skip Target DB Evaluation, an evaluation report of the target database will be generated.

Dynamic SQL Evaluation

Whether dynamic SQL statements need to be evaluated. Enable is selected by default.

  • If Enable is selected, dynamic SQL statements in objects are analyzed, and a report is generated.
  • If Enable is deselected, dynamic SQL statements are not analyzed.