Step 1: Create a Migration Project
Scenarios
This section describes how to create a migration project based on an evaluation project of the source database to migrate the objects from the source database to the target database.
Suggestions
You are advised to use a database in a non-production environment as the target database.
Constraints
- System databases are maintained by the database itself and no creations can be performed on them. The MySQL system databases include performance_schema, information_schema, mysql, and sys. The GoldenDB system databases include information_schema, mysql, performance_schema, and sys. The PostgreSQL system databases include postgres.
- If the name of an object on the source database exceeds 63 bytes, the object name will be truncated after the object is migrated to the target database GaussDB.
- If you use a system database to create a migration project, the permission check may fail.
- Each user can create up to 10 migration projects.
- You need to select the target database to which the source database objects are to be migrated, and enter the target database information.
- Each migration project corresponds to an evaluation project. You can create multiple migration projects based on an evaluation project.
Prerequisites
- You have permissions to create a migration project in the UGO console. To obtain permissions, see Permission Management.
- There is at least one evaluation project whose Evaluation Status is Completed. Create Migration Project.
- The target database to be connected is normal and has no arrears or suspension.
- The target database user must have the permission to create, delete, and modify databases objects, such as schemas, tables, programs, indexes, users, functions, and views. For details, see Viewing the Permission Check Report.
Procedure
- Log in to the UGO console.
- In the navigation pane on the left, choose .
- Click Create Project in the upper right corner.
- On the Create Project page, enter the required information. For details, see Table 1.
Figure 1 Creating a migration project
Table 1 Parameter description Parameter
Description
Project Name
The project name must be unique.
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.
Notification scenario:
When the account is frozen or unfrozen, SMN can be used to send notifications.
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.
Permissions Check
- By default, Skip Permission Check is not selected.
- If the target database is not GaussDB and the permission check is skipped, the generated permission check report will have no content.
- If the target database is GaussDB,
If you do not select Skip Permission Check, you need to modify the items that failed to pass the check. After all check items are passed, the Next button on the Precheck page is available.
If you select Skip Permission Check, the results of the failed check items change to Warning. The Next button on the Precheck page is available.
NOTE:To create objects in the target database, you must have certain database permissions, such as those needed for creating tables and functions. If you skip the permission check, the system does not check whether you have these permissions.
The migration may fail due to lack of permissions when SQL statements are converted on the target database.
Evaluation Project
Select an evaluation project from the drop-down list.
- Target DB: The confirmed target database type is displayed. Each tenant can connect to a maximum of five target databases at the same time.
- Target DB Version: The confirmed target database version is displayed.
- DB Information Input Type
NOTE:
When the target database is GaussDB Primary/Standby 3.1 Enterprise Edition, select Input manually .
Database Instance
Select an instance.
- Database Instance: Select a DB instance of the target database. If no DB instance is available, create one on the console.
View DB Instance: Click View DB Instance to go to the instance list page of the target database and view instance information.
View instances that cannot be selected: Click View instances that cannot be selected. A dialog box is displayed, showing the unavailable instance names and reasons.
- DB Name: Enter the database name based on the selected target DB instance. The name contains up to 50 characters.
NOTE:
If the target database type is GaussDB, you are advised to select a GaussDB database that is compatible with the source database.
- Username: Enter the username of the target database. It is recommended that the user has administrator.
- Password: Enter the password of the target database.
Hostname and IP Address
When DB Information Input Type is set to Input manually
- Network Type: An elastic IP address (EIP) is used to connect to the source database.
If the target database network is restricted by the IP address whitelist, add the EIP to the target database network whitelist to ensure that UGO can connect to the target 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
- Enter the host name or host IP address based on the selected host type.
- Host IP Address: Enter the IP address of the target database host.
If the target database is GaussDB Primary/Standby, you can enter only the IP address of the primary node or the IP addresses of the primary node and multiple standby nodes. Use commas (,) to separate the IP addresses. When you connect to the database, the system automatically selects the IP address of the primary node.
If the target database is GaussDB Distributed, you can enter one or more CN IP addresses separated by commas (,). The first IP address is preferentially used to connect to the database. If the previous IP address is abnormal, the next IP address will be used to connect to the database. If the first IP address of the CN can be connected but the CN node is abnormal and cannot be written, the connection test is normal, but an error message is displayed during permission check and object migration.
- Hostname: Enter the host name of the target database.
- You can enter multiple hostnames and use commas (,) to separate them. All hostnames can contain up to 1,024 characters.
- Format of a hostname:
- example.com
- {part1}.{part2}.{part3}
- A hostname can consist of multiple parts and each part is separated by periods(.). A hostname can contain up to 253 characters.
- Each {part}:
1. Can contain 1 to 127 characters.
2. Can contain lowercase characters, uppercase characters, numbers, and hyphens (-).
3. Must start with a lowercase character, uppercase character, or number.
4. Cannot end with a digit ranging from 0 to 9 or a hyphen (-).
- Host Port: Enter the port of the target database.
- DB Name: Enter the database name. The name contains up to 50 characters.
- Username: Enter the username of the target database. It is recommended that the user has administrator.
- Password: Enter the password of the target database.
Schemas to Migrate
- Select Select all: Select schemas to be collected by UGO from the source database.
- Deselect Select all: whether to reselect the schemas selected in the evaluation project.
By default, Select all is selected.
(Optional) SSL Type
- No SSL: SSL is disabled and there may be potential security risks.
- SSL without authentication: Transmission will be encrypted without authentication.
- One-way SSL: The target database will be authenticated and transmission will be encrypted.
- Upload a SQL file: Click Add File. On the displayed page, select All Files (*.*) for the file type, select the root certificate of the target database in JKS format, and upload it.
- Trust Store Password: Enter the password of the trust store used to access the certificate.
NOTE:- If you select One-way SSL, enter the correct uploaded file and entered password, which are private information of users. If the target database type is GaussDB or PostgreSQL, upload a PEM root certificate file. No password is required.
- 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.
(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.
A maximum of 10 tags can be added. For details, see Managing Tags.
- By default, Skip Permission Check is not selected.
- Click Test Connection.
- If the connection test is successful, the Next button is available.
- If the connection test fails, an error message is displayed.
- Click Next to go to the Precheck page.
Figure 2 Performing a pre-check
- Compatibility mode check: If the source database is Oracle, MySQL, GoldenDB, or Postgres and target database is GaussDB, the system checks the GaussDB compatibility mode. If the selected compatibility mode is different from that of the source database, the system notifies you of risks. This check result does not affect subsequent operations.
Table 2 Compatibility No.
Compatibility
1
Oracle, MySQL, or Postgres as the source database and GaussDB as the target database:
If the compatibility mode does not match, a compatibility message is displayed.
2
GoldenDB as the source database and GaussDB (MySQL compatibility mode) as the target database:
If the compatibility mode does not match, a compatibility message is displayed.
3
GaussDB not as the target database:
The compatibility check is not be performed.
4
Oracle, GoldenDB, MySQL, or Postgres not as the source database and GaussDB as the target database:
The compatibility check is successful and a compatibility message is displayed.
- Character set check: The system checks the character sets of the source and target databases. This check result does not affect subsequent operations. Table 3 and Table 5 describe the character set compatibility.
Table 3 Character set compatibility between Oracle and GaussDB Source Database
Target Database
Compatibility Result
SQL_ASCII
SQL_ASCII
Success
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Alarm
UTF16
Alarm
UTF8
Alarm
UTF32
Alarm
Other character sets
Alarm
US7ASCII
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Alarm
UTF16
Alarm
UTF8
Alarm
UTF32
Alarm
Other character sets
Alarm
ISO-8859-1
SQL_ASCII
Alarm
ISO-8859-1
Success
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Alarm
UTF16
Alarm
UTF8
Alarm
UTF32
Alarm
Other character sets
Alarm
LATIN1
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Success
GB2312
Alarm
GBK
Alarm
GB18030
Alarm
UTF16
Alarm
UTF8
Alarm
UTF32
Alarm
Other character sets
Alarm
GB2312
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Success
GBK
Success
GB18030
Success
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
ZHS16GBK
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Success
GB18030
Success
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
GBK
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Success
GB18030
Success
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
ZHS32GB18030
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Success
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
GB18030
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Success
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
AL16UTF16
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Alarm
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
UTF16
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Alarm
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
AL32UTF8
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Alarm
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
UTF8
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Alarm
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
UTF32
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Alarm
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
Other character sets
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Alarm
UTF16
Alarm
UTF8
Alarm
UTF32
Alarm
Other character sets
Alarm
Table 4 Character set compatibility between MySQL and GaussDB Source Database
Target Database
Compatibility Result
ISO-8859-1/LATIN1
SQL_ASCII
Alarm
ISO-8859-1
Success
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Alarm
UTF16
Alarm
UTF8
Alarm
UTF32
Alarm
Other character sets
Alarm
GB2312
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Success
GBK
Success
GB18030
Success
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
GBK
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Success
GB18030
Success
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
GB18030
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Success
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
UTF16
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Alarm
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
UTF8
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Alarm
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
UTF32
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Alarm
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
ascii
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Alarm
UTF16
Alarm
UTF8
Alarm
UTF32
Alarm
Other character sets
Alarm
utf8mb3
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Success
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
utf8mb4
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Alarm
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
UTF16LE
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Alarm
UTF16
Success
UTF8
Success
UTF32
Success
Other character sets
Alarm
Other character sets
SQL_ASCII
Alarm
ISO-8859-1
Alarm
LATIN1
Alarm
GB2312
Alarm
GBK
Alarm
GB18030
Alarm
UTF16
Alarm
UTF8
Alarm
UTF32
Alarm
Other character sets
Alarm
Table 5 Character set compatibility between Oracle and MySQL Source Database
Target Database
Compatibility Result
SQL_ASCII
ASCII
Success
LATIN1/ISO-8859-1
Alarm
GB2312
Alarm
GBK
Alarm
UTF8MB3
Alarm
GB18030
Alarm
UTF16
Alarm
UTF16LE
Alarm
UTF8
Alarm
UTF32
Alarm
UTF8MB4
Alarm
Other character sets
Alarm
US7ASCII
ASCII
Alarm
LATIN1/ISO-8859-1
Alarm
GB2312
Alarm
GBK
Alarm
UTF8MB3
Alarm
GB18030
Alarm
UTF16
Alarm
UTF16LE
Alarm
UTF8
Alarm
UTF32
Alarm
UTF8MB4
Alarm
Other character sets
Alarm
ISO-8859-1
ASCII
Alarm
LATIN1/ISO-8859-1
Success
GB2312
Alarm
GBK
Alarm
UTF8MB3
Alarm
GB18030
Alarm
UTF16
Alarm
UTF16LE
Alarm
UTF8
Alarm
UTF32
Alarm
UTF8MB4
Alarm
Other character sets
Alarm
LATIN1
ASCII
Alarm
LATIN1/ISO-8859-1
Success
GB2312
Alarm
GBK
Alarm
UTF8MB3
Alarm
GB18030
Alarm
UTF16
Alarm
UTF16LE
Alarm
UTF8
Alarm
UTF32
Alarm
UTF8MB4
Alarm
Other character sets
Alarm
GB2312
ASCII
Alarm
LATIN1/ISO-8859-1
Alarm
GB2312
Success
GBK
Success
UTF8MB3
Success
GB18030
Success
UTF16
Success
UTF16LE
Success
UTF8
Success
UTF32
Success
UTF8MB4
Success
Other character sets
Alarm
ZHS16GBK
ASCII
Alarm
LATIN1/ISO-8859-1
Alarm
GB2312
Alarm
GBK
Success
UTF8MB3
Success
GB18030
Success
UTF16
Success
UTF16LE
Success
UTF8
Success
UTF32
Success
UTF8MB4
Success
Other character sets
Alarm
GBK
ASCII
Alarm
LATIN1/ISO-8859-1
Alarm
GB2312
Alarm
GBK
Success
UTF8MB3
Success
GB18030
Success
UTF16
Success
UTF16LE
Success
UTF8
Success
UTF32
Success
UTF8MB4
Success
Other character sets
Alarm
ZHS32GB18030
ASCII
Alarm
LATIN1/ISO-8859-1
Alarm
GB2312
Alarm
GBK
Success
UTF8MB3
Success
GB18030
Success
UTF16
Success
UTF16LE
Success
UTF8
Success
UTF32
Success
UTF8MB4
Success
Other character sets
Alarm
GB18030
ASCII
Alarm
LATIN1/ISO-8859-1
Alarm
GB2312
Alarm
GBK
Alarm
UTF8MB3
Alarm
GB18030
Success
UTF16
Success
UTF16LE
Success
UTF8
Success
UTF32
Success
UTF8MB4
Success
Other character sets
Alarm
AL16UTF16
ASCII
Alarm
LATIN1/ISO-8859-1
Alarm
GB2312
Alarm
GBK
Alarm
UTF8MB3
Alarm
GB18030
Alarm
UTF16
Success
UTF16LE
Success
UTF8
Success
UTF32
Success
UTF8MB4
Success
Other character sets
Alarm
UTF16
ASCII
Alarm
LATIN1/ISO-8859-1
Alarm
GB2312
Alarm
GBK
Alarm
UTF8MB3
Alarm
GB18030
Alarm
UTF16
Success
UTF16LE
Success
UTF8
Success
UTF32
Success
UTF8MB4
Success
Other character sets
Alarm
AL32UTF8
ASCII
Alarm
LATIN1/ISO-8859-1
Alarm
GB2312
Alarm
GBK
Alarm
UTF8MB3
Alarm
GB18030
Alarm
UTF16
Success
UTF16LE
Success
UTF8
Success
UTF32
Success
UTF8MB4
Success
Other character sets
Alarm
UTF8
ASCII
Alarm
LATIN1/ISO-8859-1
Alarm
GB2312
Alarm
GBK
Alarm
UTF8MB3
Alarm
GB18030
Alarm
UTF16
Success
UTF16LE
Success
UTF8
Success
UTF32
Success
UTF8MB4
Success
Other character sets
Alarm
UTF32
ASCII
Alarm
LATIN1/ISO-8859-1
Alarm
GB2312
Alarm
GBK
Alarm
UTF8MB3
Alarm
GB18030
Alarm
UTF16
Success
UTF16LE
Success
UTF8
Success
UTF32
Success
UTF8MB4
Success
Other character sets
Alarm
Other character sets
ASCII
Alarm
LATIN1/ISO-8859-1
Alarm
GB2312
Alarm
GBK
Alarm
UTF8MB3
Alarm
GB18030
Alarm
UTF16
Alarm
UTF16LE
Alarm
UTF8
Alarm
UTF32
Alarm
UTF8MB4
Alarm
Character set compatibility result:
- Alarm: The character sets of the source and target databases are incompatible.
- Success: The character sets of the source and target databases are compatible.
- Separation of permissions: If the target database type is GaussDB, separation of permissions will be checked. After separation of permissions is enabled, the system administrator (or the user with SYSADMIN permissions) does not have the CREATEROLE capability (of the security administrator) or AUDITADMIN capability (of the audit administrator). This means that the system administrator cannot create roles and users, and view and maintain database audit logs. After separation of permissions is enabled, a user with SYSADMIN permissions cannot migrate USER, ROLE, and GRANT.
- This check item is displayed only when the target database type is GaussDB, separation of permissions is enabled, and the migration is performed by a user with SYSADMIN permissions.
- After separation of permissions is enabled, if a user with SYSADMIN permissions still has the security administrator (CREATEROLE) permissions and audit administrator permissions, this means that permission model is switched repeatedly. If you need to switch model from non-separation of permissions to separation of permissions, review the permissions of existing users and tailor some permissions as needed.
- sysadmin permissions: This check item is only displayed when the target database type is GaussDB, separation of permissions is disabled, the migration user is SYSADMIN. The check result must be Success.
- Schema creation permissions: This check item is only displayed when the target database is GaussDB and the migration user is not SYSADMIN. It is used to check whether the migration user has the permissions to create schemas in the target database. Database objects must be created in schemas.
GRANT CREATE ON DATABASE <db_name> TO <user>;
When separation of permissions is enabled, initial user is used to grant permissions. When separation of permissions is disabled, SYSADMIN user is used to grant permissions.
This check item is mandatory.
- User and role creation and modification permissions: This check item is only displayed when the target database is GaussDB, the migration user is not SYSADMIN, and USER, ROLE, and GRANT objects are migrated. It is used to check whether the migration user has the permissions to create or modify users and roles in the target DB instance.
ALTER USER <user> WITH CREATEROLE;
When separation of permissions is enabled, initial user is used to grant permissions. When separation of permissions is disabled, SYSADMIN user is used to grant permissions.
This check item is mandatory.
- Public schema creation permissions: This check item is only displayed when the target database is GaussDB and the migration user is a common user or SYSADMIN (used when separation of permission is enabled). The check item involves complex permissions, such permission combination.
In GaussDB 2.7 or earlier, CREATE permissions on public schemas are required to create objects such as tables, views, indexes, sequences, packages, types, and triggers.
In GaussDB 3.1 or later, the user SYSADMIN (used when separation of permission is enabled) must have the CREATE permissions on public schemas to create objects such as tables, views, indexes, sequences, packages, types, and triggers.
In GaussDB 3.1 or later, a common user must have the CREATE permissions on public schemas and the ANY permissions of objects, to create objects such as tables, views, indexes, sequences, packages, types, and triggers.
In separation of permissions, only initial users have the permissions to create functions, stored procedures, and synonyms on public schemas.
In non-separation of permissions, initial and sysadmin users have the permissions to create functions, stored procedures, and synonyms on public schemas.
CREATE permissions: GRANT CREATE ON SCHEMA public TO <user>;
ANY permissions:
GRANT CREATE ANY TABLE TO <user>;//Users can create tables or views in public and user schemas.
GRANT CREATE ANY SEQUENCE TO <user>;//Users can create sequences in public and user schemas.
GRANT CREATE ANY INDEX TO <user>;//Users can create indexes in public and user schemas.
GRANT CREATE ANY PACKAGE TO <user>;//Users can create packages in public and user schemas.
GRANT CREATE ANY TYPE TO <user>;//Users can create types in public and user schemas.
GRANT CREATE ANY TRIGGER TO <user>;//Users can create triggers in public and user schemas.
- A DB instance contains multiple databases. Each database has its own public schema. Permission assignment must be performed in the corresponding database.
- When separation of permissions is enabled, initial user is used to grant permissions. When separation of permissions is disabled, SYSADMIN user is used to grant permissions.
- This check item is not mandatory. Based on the GaussDB permission design, the check result is always Warning.
- Existing schema check permissions: This check item is only displayed when the target database is GaussDB and the migration user is a common user or SYSADMIN (used when separation of permission is enabled).
It is used to check whether the migration user has the permissions to grant the owner of the existing schemas to the migration user.
GRANT <schema_owner> TO <user>
When separation of permissions is enabled, initial user is used to grant permissions. When separation of permissions is disabled, SYSADMIN user or schema owner is used to grant permissions.
If the migration user does not have sufficient permissions, the schema owner cannot be queried.
- GRANT tablespace permissions: This check item is only displayed when the target database is GaussDB, the migration user is not SYSADMIN, and GRANT objects are migrated.
GRANT <privilege> ON TABLESPACE <tablespace_name> TO <user>;
GRANT <privilege> ON TABLESPACE <tablespace_name> TO <user> WITH GRANT OPTION;
If WITH GRANT OPTION is specified, a grantee can grant this permission to others.
Permissions include CREATE, ALTER, DROP, COMMENT, CREATE WITH GRANT OPTION, ALTER WITH GRANT OPTION, DROP WITH GRANT OPTION and COMMENT WITH GRANT OPTION.
When separation of permissions is enabled, initial user is used to grant permissions. When separation of permissions is disabled, SYSADMIN user is used to grant permissions.
- GRANT database permissions: This check item is only displayed when the target database is GaussDB, the migration user is not SYSADMIN, and GRANT objects are migrated.
GRANT <privilege> ON DATABASE <db_name> TO <user>;
GRANT <privilege> ON DATABASE <db_name> TO <user> WITH GRANT OPTION;
If WITH GRANT OPTION is specified, a grantee can grant this permission to others.
Permissions include CREATE, CONNECT, TEMPORARY, ALTER, DROP, COMMENT, CREATE WITH GRANT OPTION, CONNECT WITH GRANT OPTION, ALTER WITH GRANT OPTION, TEMPORARY WITH GRANT OPTION, DROP WITH GRANT OPTION and COMMENT WITH GRANT OPTION.
When separation of permissions is enabled, initial user is used to grant permissions. When separation of permissions is disabled, SYSADMIN user is used to grant permissions.
- GRANT ANY permissions: This check item is only displayed when the target database is GaussDB, the migration user is not SYSADMIN, and GRANT objects are migrated. It checks whether the migration user can grant the ANY permissions to other users in the target database.
GRANT <privilege> TO <user> WITH ADMIN OPTION;
If WITH ADMIN OPTION is specified, the granted user can grant the permission to other roles or users.
Permissions include CREATE ANY TABLE, ALTER ANY TABLE, DROP ANY TABLE, SELECT ANY TABLE, UPDATE ANY TABLE, INSERT ANY TABLE, DELETE ANY TABLE, CREATE ANY SEQUENCE, ALTER ANY SEQUENCE, DROP ANY SEQUENCE, SELECT ANY SEQUENCE, CREATE ANY INDEX, ALTER ANY INDEX, DROP ANY INDEX, CREATE ANY FUNCTION, EXECUTE ANY FUNCTION, CREATE ANY PACKAGE, EXECUTE ANY PACKAGE, CREATE ANY TYPE, ALTER ANY TYPE, DROP ANY TYPE, CREATE ANY SYNONYM, DROP ANY SYNONYM, CREATE ANY TRIGGER, ALTER ANY TRIGGER and DROP ANY TRIGGER.
A DB instance contains multiple databases. The ANY permissions are bound to databases. You need to grant the ANY permissions in the corresponding database.
When separation of permissions is enabled, initial user is used to grant permissions. When separation of permissions is disabled, SYSADMIN user is used to grant permissions.
- GRANT pg_catalog Schema permissions: This check item is only displayed when the target database is GaussDB, the migration user is not SYSADMIN, and GRANT objects are migrated. It checks whether the migration user can grant the permissions to create database connections in the target database to other users.
GRANT <privilege> TO <user> WITH ADMIN OPTION;
A DB instance contains multiple databases. Each database has its own pg_catalog schema. Permission assignment must be performed in the corresponding database.
When separation of permissions is enabled, initial user is used to grant permissions. When separation of permissions is disabled, SYSADMIN user is used to grant permissions.
- GRANT database link permissions: This check item is only displayed when the target database is GaussDB, the migration user is not SYSADMIN, and GRANT objects are migrated. It checks whether the migration user can grant the permissions to create database connections in the target database to other users.
GRANT CREATE PUBLIC DATABASE LINK TO <user> WITH GRANT OPTION;
A DB instance contains multiple databases. You need to grant permissions in the corresponding database.
When separation of permissions is enabled, initial user is used to grant permissions. When separation of permissions is disabled, SYSADMIN user is used to grant permissions.
- GRANT role and user permissions: This check item is only displayed when the target database is GaussDB, the migration user is not SYSADMIN, and GRANT objects are migrated. If the check result is Alarm, check whether the migration user has the permissions to grant or modify other users' permissions.
User SYSADMIN created after separation of permissions is disabled to perform migration tasks.
- GUC parameter check for the target database: This check item is only displayed when the target database version is GaussDB 3.1 or later and the source database version is Oracle, Microsoft SQL Server, DB2 for LUW or MySQL. Check whether the GUC parameters are configured. For details about the check items, see Table 6.
- The GUC parameter check is performed based on the target database version you selected during evaluation project creation, instead of the target database version that is actually connected.
- If the target database is GaussDB Primary/Standby (M-compatibility), GUC parameter check is not supported.
Table 6 Target database GUC parameter check items Source DB Type
Target DB Version
Check Item
DB2 for LUW
GaussDB 3.1 Primary/Standby Enterprise Edition
behavior_compat_options, sql_beta_feature, a_format_version, a_format_dev_version
GaussDB 8.1 Distributed 3.1 Enterprise Edition
behavior_compat_options, sql_beta_feature, a_format_version, a_format_dev_version
GaussDB Primary/Standby 3.2 Enterprise Edition
behavior_compat_options, plsql_compile_check_options, sql_beta_feature, a_format_version, a_format_dev_version
GaussDB Distributed 3.2 Enterprise Edition
behavior_compat_options, sql_beta_feature, a_format_version, a_format_dev_version
GaussDB Primary/Standby 3.3 Enterprise Edition
behavior_compat_options, plsql_compile_check_options, sql_beta_feature, a_format_version, a_format_dev_version
GaussDB Distributed 3.3 Enterprise Edition
behavior_compat_options, sql_beta_feature, a_format_version, a_format_dev_version
GaussDB Primary/Standby 8.0 Enterprise Edition
behavior_compat_options, plsql_compile_check_options, sql_beta_feature, a_format_version, a_format_dev_version
GaussDB Distributed 8.0 Enterprise Edition
behavior_compat_options, sql_beta_feature, a_format_version, a_format_dev_version
GaussDB Primary/Standby 8.1 Enterprise Edition
behavior_compat_options, plsql_compile_check_options, sql_beta_feature, a_format_version, a_format_dev_version
GaussDB Distributed 8.1 Enterprise Edition
behavior_compat_options, sql_beta_feature, a_format_version, a_format_dev_version
MySQL
GaussDB 3.1 Primary/Standby Enterprise Edition
-
GaussDB Primary/Standby 3.2 Enterprise Edition
b_format_behavior_compat_options
GaussDB Distributed 3.2 Enterprise Edition
-
GaussDB Primary/Standby 3.3 Enterprise Edition
b_format_behavior_compat_options
GaussDB Primary/Standby 8.0 Enterprise Edition
b_format_version,b_format_dev_version
GaussDB Distributed 8.0 Enterprise Edition
b_format_version,b_format_dev_version
GaussDB Primary/Standby 8.1 Enterprise Edition
b_format_version,b_format_dev_version
GaussDB Distributed 8.1 Enterprise Edition
b_format_version,b_format_dev_version
Oracle
GaussDB 3.1 Primary/Standby Enterprise Edition
behavior_compat_options,sql_beta_feature,a_format_version,a_format_dev_version
GaussDB 8.1 Distributed 3.1 Enterprise Edition
behavior_compat_options,sql_beta_feature,a_format_version,a_format_dev_version
GaussDB Primary/Standby 3.2 Enterprise Edition
behavior_compat_options,plsql_compile_check_options,sql_beta_feature,a_format_version,a_format_dev_version
GaussDB Distributed 3.2 Enterprise Edition
behavior_compat_options,sql_beta_feature,a_format_version,a_format_dev_version
GaussDB Primary/Standby 3.3 Enterprise Edition
behavior_compat_options,plsql_compile_check_options,sql_beta_feature,IntervalStyle,a_format_version,a_format_dev_version
GaussDB Distributed 3.3 Enterprise Edition
behavior_compat_options,sql_beta_feature,IntervalStyle,a_format_version,a_format_dev_version
GaussDB Primary/Standby 8.0 Enterprise Edition
behavior_compat_options,plsql_compile_check_options,sql_beta_feature,IntervalStyle,a_format_version,a_format_dev_version
GaussDB Distributed 8.0 Enterprise Edition
behavior_compat_options,sql_beta_feature,IntervalStyle,a_format_version,a_format_dev_version
GaussDB Primary/Standby 8.1 Enterprise Edition
behavior_compat_options,plsql_compile_check_options,sql_beta_feature,IntervalStyle,a_format_version,a_format_dev_version
GaussDB Distributed 8.1 Enterprise Edition
behavior_compat_options,sql_beta_feature,IntervalStyle,a_format_version,a_format_dev_version
Microsoft SQL Server
GaussDB 3.1 Primary/Standby Enterprise Edition
behavior_compat_options,sql_beta_feature,a_format_version,a_format_dev_version
GaussDB 8.1 Distributed 3.1 Enterprise Edition
behavior_compat_options,sql_beta_feature,a_format_version,a_format_dev_version
GaussDB Primary/Standby 3.2 Enterprise Edition
behavior_compat_options,plsql_compile_check_options,sql_beta_feature,a_format_version,a_format_dev_version
GaussDB Distributed 3.2 Enterprise Edition
behavior_compat_options,sql_beta_feature,a_format_version,a_format_dev_version
GaussDB Primary/Standby 3.3 Enterprise Edition
behavior_compat_options,plsql_compile_check_options,sql_beta_feature,a_format_version,a_format_dev_version
GaussDB Distributed 3.3 Enterprise Edition
behavior_compat_options,sql_beta_feature,a_format_version,a_format_dev_version
GaussDB Primary/Standby 8.0 Enterprise Edition
behavior_compat_options,plsql_compile_check_options,sql_beta_feature,a_format_version,a_format_dev_version
GaussDB Distributed 8.0 Enterprise Edition
behavior_compat_options,sql_beta_feature,a_format_version,a_format_dev_version
GaussDB Primary/Standby 8.1 Enterprise Edition
behavior_compat_options,plsql_compile_check_options,sql_beta_feature,a_format_version,a_format_dev_version
GaussDB Distributed 8.1 Enterprise Edition
behavior_compat_options,sql_beta_feature,a_format_version,a_format_dev_version
- Database write permissions: If the target database is GaussDB, the system checks whether the data node is normal. If the target database is read-only, this check item is displayed. The check result is not passed.
- Compatibility mode check: If the source database is Oracle, MySQL, GoldenDB, or Postgres and target database is GaussDB, the system checks the GaussDB compatibility mode. If the selected compatibility mode is different from that of the source database, the system notifies you of risks. This check result does not affect subsequent operations.
- Click Next in the lower right corner.
Figure 3 Confirming information
The database migration scope, migration project details, and target database information are displayed.
- The migration scope includes schemas that were migrated and not migrated.
- Migration project details include the project name, evaluation project name, enterprise project, exception notification mode, and tags.
- Target database information.
- If DB Information Input Type is Input manually, the following information is displayed: database information input mode, database name, target database name, target database version, host IP address, and host port.
- If DB Information Input Type is Auto assigned by instance, the following information is displayed: database information input mode, database name, target database name, target database version, and database instance.
- Confirm the information and click Create.
You can create up to 10 migration projects.
- After the creation is successful, click OK to go to the Object Migration page.
After a migration project is created, the permission check is automatically triggered. If the permission check is successful, the project status is Ready.
If the permission check fails, the project status is Not ready. You can manually perform a permission check.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot