Editing the Configurations During Migration from Oracle to RDS for MySQL/GaussDB(for MySQL)
Symptom |
Feature Name |
Recommended Setting |
---|---|---|
RDS for MySQL/GaussDB(for MySQL) does not support AUTHID CURRENT_USER or AUTHID DEFINER. |
AUTHID CURRENT_USER or AUTHID DEFINER |
Comment AUTHID CURRENT_USER or AUTHID DEFINER. |
RDS for MySQL/GaussDB(for MySQL) does not support SQL PLUS commands. |
SQL PLUS |
Comment SQL PLUS. |
RDS for MySQL/GaussDB(for MySQL) does not support hierarchical queries. |
Hierarchical queries |
This feature converts hierarchical queries and creates queries in other ways. Select this configuration item for GaussDB(for MySQL) 8.0 or later. |
RDS for MySQL/GaussDB(for MySQL) does not support tables with more than 65,535 characters. |
Large tables more than 65,535 characters |
Convert CHAR to TEXT and RAW to BLOB. As the storage size may increase slightly, the performance may decrease slightly. |
RDS for MySQL/GaussDB(for MySQL) does not support multi-list partitions that contain unsupported partition types. |
Multi-list partitions that contain unsupported partition types |
Generate virtual columns to replace unsupported partition types. |
RDS for MySQL/GaussDB(for MySQL) does not support foreign keys of partitioned tables. |
Foreign keys of partitioned tables |
Ignore the migration. The script remains unchanged and error information is recorded. |
RDS for MySQL/GaussDB(for MySQL) does not support global temporary tables. |
Global temporary tables |
Comment the GLOBAL keywords in CREATE GLOBAL TEMPORARY TABLE statements. |
RDS for MySQL/GaussDB(for MySQL) does not support row deletion when a global temporary table transaction is committed. |
ON COMMIT DELETE ROWS in CREATE TABLE statements |
Comment ON COMMIT DELETE ROWS in CREATE TABLE statements. |
RDS for MySQL/GaussDB(for MySQL) does not support some special characters or keyword object names. |
Special characters or keyword object names |
Add single quotation marks (') or double quotation marks (") as prefixes and suffixes to object names. |
The maximum size of the VARCHAR columns in Oracle tables is greater than that in RDS for MySQL/GaussDB(for MySQL) tables. |
Maximum size of VARCHAR columns for tables |
Set the default maximum size of VARCHAR columns to 64000. If the value exceeds the limit, the column type will be converted to TEXT. |
RDS for MySQL/GaussDB(for MySQL) does not support automatic partitioning. |
Automatic partitioning |
Comment INTERVAL automatic partitioning. |
The default maximum precision of the float data type in Oracle and RDS for MySQL/GaussDB(for MySQL) is, respectively, 126 and 53. |
FLOAT data type |
Convert the FLOAT type to the DOUBLE type. |
RDS for MySQL/GaussDB(for MySQL) does not support the BFILE type. |
BFILE type |
Convert BFILE to LONGTEXT. |
RDS for MySQL/GaussDB(for MySQL) does not support the XMLTYPE type. |
XMLTYPE type |
Convert XMLTYPE to LONGTEXT. |
RDS for MySQL/GaussDB(for MySQL) does not support GRANT statements. |
GRANT statement |
Comment all GRANT statements. The script is migrated. |
RDS for MySQL/GaussDB(for MySQL) does not support tablespaces. |
Tablespace |
Comment TABLESPACE clauses. |
RDS for MySQL/GaussDB(for MySQL) does not support table partitions with primary keys or unique keys. |
Table partitions with primary keys or unique keys |
Add partition keys to the unique constraints (primary keys and unique keys). |
RDS for MySQL/GaussDB(for MySQL) does not support the DBMS_UTILITY.FORMAT_ERROR_BACKTRACE system packages. |
DBMS_UTILITY.FORMAT_ERROR_BACKTRACE system packages |
Convert DBMS_UTILITY.FORMAT_ERROR_BACKTRAC to RETURNED_SQLSTATE, MYSQL_ERRNO, or MESSAGE_TEXT. |
RDS for MySQL/GaussDB(for MySQL) does not support PL/SQL delimiters. |
PL/SQL delimiters |
Set the default delimiter for PL/SQL blocks. Stored procedures, functions and triggers are executed as a single unit. |
RDS for MySQL/GaussDB(for MySQL) does not support package name delimiters. |
Package name delimiters |
Set a delimiter to form the name of a sub-object in a package during the Oracle package migration. |
RDS for MySQL/GaussDB(for MySQL) does not support EDITIONING. |
EDITIONING |
Comment the EDITIONING keywords in view statements. |
RDS for MySQL/GaussDB(for MySQL) does not support BITMAP indexes. |
BITMAP indexes |
Convert BITMAP indexes to BTREE indexes. |
RDS for MySQL/GaussDB(for MySQL) does not support UNUSABLE indexes. |
UNUSABLE indexes |
Convert UNUSABLE indexes to INVISIBLE indexes. |
RDS for MySQL/GaussDB(for MySQL) does not support long indexes. |
Long indexes |
Reduce the size of index expressions. |
The maximum size of the index column in Oracle is greater than that in RDS for MySQL/GaussDB(for MySQL). |
Maximum size of index columns |
Set the maximum size of index columns to 3072 supported by RDS for MySQL/GaussDB(for MySQL). |
RDS for MySQL/GaussDB(for MySQL) does not support external or global users. |
Global or external users |
Convert global or external users to common database users. |
RDS for MySQL/GaussDB(for MySQL) does not support PROFILE. |
PROFILE |
Comment PROFILE clauses. The scripts are migrated. |
RDS for MySQL/GaussDB(for MySQL) does not support DEBUG privilege. |
DEBUG privileges |
Comment DEBUG privileges. The scripts are migrated. |
RDS for MySQL/GaussDB(for MySQL) does not support roles. |
Roles
NOTE:
This parameter can be configured only in RDS for MySQL 5.7. |
Comment ROLE statements. The scripts are migrated. |
RDS for MySQL/GaussDB(for MySQL) does not support DELIGATE clauses in GRANT statements. |
DELIGATE clauses in GRANT statements |
Comment DELIGATE clauses. The scripts are migrated. |
RDS for MySQL/GaussDB(for MySQL) does not support system roles. |
System roles |
Comment all GRANT statements. The scripts are migrated. |
In RDS for MySQL/GaussDB(for MySQL), the username is case-insensitive. |
Username case sensitivity |
Migrate the username in LOWERCASE. |
RDS for MySQL/GaussDB(for MySQL) does not support SEQUENCE. |
SEQUENCE |
Use user-defined functions to replace sequence operations. |
In RDS for MySQL/GaussDB(for MySQL), role names are case-sensitive. |
Role name case sensitivity
NOTE:
This parameter can be configured only in GaussDB(for MySQL) 8.0. |
Migrate the role name in UPPERCASE or LOWERCASE. |
RDS for MySQL/GaussDB(for MySQL) does not support GRANT statements for granting permissions to roles. |
GRANT statements
NOTE:
This parameter can be configured only in GaussDB(for MySQL) 8.0. |
Comment all GRANT statements. The scripts are migrated. |
RDS for MySQL/GaussDB(for MySQL) does not support IDENTIFIED BY clauses in GRANT statements. |
IDENTIFIED BY clauses in GRANT statements
NOTE:
This parameter can be configured only in GaussDB(for MySQL) 8.0. |
Comment IDENTIFIED BY. |
MySQL does not have the data type corresponding to TIMESTAMP WITH TIME ZONE of Oracle. |
TIMESTAMP WITH TIME ZONE |
Convert TIMESTAMP WITH TIME ZONE to DATETIME. |
MySQL does not have the data type corresponding to TIMESTAMP WITH LOCAL TIME ZONE of Oracle. |
TIMESTAMP WITH LOCAL TIME ZONE |
Convert TIMESTAMP WITH LOCAL TIME ZONE to TIMESTAMP. Impact: The maximum value range of TIMESTAMP in MySQL is 2038. If the date is later than 2038, only the DATETIME type can be used. |
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