Oracle To RDS for MySQL/GaussDB(for MySQL)配置项使用说明
问题描述 |
配置建议 |
建议值 |
---|---|---|
MySQL不支持AUTHID CURRENT_USER或AUTHID DEFINER |
建议配置“允许使用定义者或调用者的权限”解决该类问题 |
注释AUTHID CURRENT_USER或AUTHID DEFINER。 |
MySQL不支持SQL PLUS命令 |
建议配置“SQL PLUS”解决该类问题 |
注释SQL PLUS命令。 |
Mysql不支持层次查询。 |
建议配置“层次查询”解决该类问题 |
此配置将转换层次查询,并使用其他方式创建查询。Mysql8.0及以上建议选择此配置项。 |
MySQL不支持超过65535个字符的表 |
建议配置“大表”,将超出范围的字符串列迁移成TEXT和BLOB解决该类问题 |
如果字符串列使用的字符数之和超过65535,字符串列转换为TEXT,RAW列转换为BLOB。由于该存储大小可能会稍微增加,性能可能会稍微降低。 |
MySQL不支持多列表分区中包含不支持的分区类型 |
建议配置“多列表分区中包含不支持的分区类型”解决该类问题 |
生成虚拟列替换原来不支持的类型分区。 |
MySQL不支持分区表外键 |
建议配置“分区表外键”解决该类问题 |
MYSQL分区不支持分区表外键。此配置忽略迁移,脚本保持不变,并记录错误信息。 |
MySQL不支持全局临时表 |
建议配置“全局临时表”解决该类问题 |
注释create global temporary table语句中的global关键字。 |
MySQL不支持全局临时表事物提交时删除行 |
建议配置“全局临时表事物提交时删除行”解决该类问题 |
注释CREATE TABLE语句中的ON COMMIT DELETE ROWS子句。 |
MySQL不支持部分特殊字符或者关键字对象名 |
建议配置“设置SQL模式处理特殊字符或者关键字对象名”解决该类问题 |
将单引号(')或者双引号(")作为前缀和后缀添加到对象名中。 |
Oracle的表varchar列的最大长度大于MySQL的最大长度 |
建议配置“设置表varchar列的最大长度”解决该类问题 |
将char类型列存储的默认上限设置为64000,超过该上限的char类型都将转换为TEXT数据类型。 |
MySQL不支持自动分区 |
建议配置“自动分区”解决该类问题 |
注释掉INTERVAL自动分区。 |
Oracle的float数据类型默认的最大精度为126,大于MySQL的53 |
建议配置“float数据类型”解决该类问题 |
将FLOAT类型转换为DOUBLE类型。 |
MySQL不支持BFILE类型 |
建议配置“BFILE类型”解决该类问题 |
迁移脚本,将BFILE转换为LONGTEXT。 |
MySQL不支持XMLTYPE类型 |
建议配置“XMLTYPE类型”解决该类问题 |
迁移脚本,将XMLTYPE转换为LONGTEXT。 |
MySQL不支持GRANT语句 |
建议配置“GRANT语句”解决该类问题 |
迁移脚本,注释整个GRANT语句。 |
MySQL不支持表空间 |
建议配置“表空间”解决该类问题 |
注释表空间子句。 |
MySQL不支持具有主键或唯一键的表分区场景 |
建议配置“具有主键或唯一键的表分区场景”解决该类问题 |
将分区键添加到唯一约束(主键和唯一键)中。 |
MySQL不支持DBMS_UTILITY.FORMAT_ERROR_BACKTRACE系统包 |
建议配置“DBMS_UTILITY.FORMAT_ERROR_BACKTRACE系统包函数转换”解决该类问题 |
通过MySQL中的系统变量RETURNED_SQLSTATE、MYSQL_ERRNO和MESSAGE_TEXT生成错误消息。 |
MySQL不支持设置PL/SQL分隔符 |
建议配置“设置PL/SQL分隔符”解决该类问题 |
设置PL/SQL块的默认分隔符,该分隔符将存储过程、函数和触发器作为一个单元执行。 |
MySQL不支持包名分隔符 |
建议配置“设置包名分隔符”解决该类问题 |
此参数用于Oracle 包迁移。用户应设置分隔符,使其组成包中子对象新名称。 |
MySQL不支持编辑视图子句 |
建议配置“编辑视图子句”解决该类问题 |
注释视图语句中的EDITIONING关键字。 |
MySQL不支持bitmap索引 |
建议配置“bitmap索引”解决该类问题 |
BITMAP索引将迁移成BTREE索引。 |
MySQL不支持unusable索引 |
建议配置“unusable索引”解决该类问题 |
迁移成MySQL不可见索引。 |
MySQL不支持长索引 |
建议配置“长索引”解决该类问题 |
减小索引表达式的长度。 |
Oracle的索引列的最大长度大于MySQL的最大长度 |
建议配置“设置索引支持列的最大长度”解决该类问题 |
如果索引长度大于3072,将其减小到MySQL支持的大小(3072)。 |
MySQL不支持Externally和Globally用户 |
建议配置“Externally和Globally用户”解决该类问题 |
迁移脚本中,将Externally和Globally用户转换为普通数据库用户。 |
MySQL不支持PROFILE |
建议配置“PROFILE”解决该类问题 |
迁移脚本,注释掉PROFILE子句。 |
MySQL不支持调试权限 |
建议配置“调试权限”解决该类问题 |
注释脚本,注释调试权限。 |
MySQL不支持角色 |
建议配置“角色”解决该类问题
说明:
仅RDS for MySQL-5.7版本可配置该参数。 |
迁移脚本,注释掉角色语句。 |
MySQL不支持授权语句中的委托选项 |
建议配置“授权语句中的委托选项”解决该类问题 |
迁移脚本,注释授权语句中的委托选项。 |
MySQL不支持系统角色 |
建议配置“系统角色”解决该类问题 |
迁移脚本,注释整个GRANT语句。 |
MySQL不支持用户名大小写 |
建议配置“用户名大小写”解决该类问题 |
迁移成小写的用户名。 |
MySQL不支持序列对象 |
建议配置“是否迁移序列”解决该类问题 |
使用自定义函数来替换序列操作。 |
MySQL区分角色名大小写 |
建议配置“角色名大小写”解决该类问题
说明:
仅GaussDB(for MySQL)-8.0版本可配置该参数。 |
迁移成大写或小写的角色名。 |
MySQL不支持角色授权 |
建议配置“角色授权”解决该类问题
说明:
仅GaussDB(for MySQL)-8.0版本可配置该参数。 |
迁移脚本,注释掉用户授权语句。 |
MySQL不支持授权语句的IDENTIFIED BY子句 |
建议配置“授权语句的IDENTIFIED BY子句”解决该类问题
说明:
仅GaussDB(for MySQL)-8.0版本可配置该参数。 |
注释IDENTIFIED BY语句。 |
MySQL没有与Oracle的 TIMESTAMP WITH TIME ZONE对应的数据类型。 |
建议配置“TIMESTAMP WITH TIME ZONE类型转换”解决该类问题。 |
将TIMESTAMP WITH TIME ZONE类型转换为DATETIME。 |
MySQL没有与Oracle的 TIMESTAMP WITH LOCAL TIME ZONE对应的数据类型。 |
建议配置“TIMESTAMP WITH LOCAL TIME ZONE类型转换”解决该类问题。 |
将TIMESTAMP WITH LOCAL TIME ZONE类型转换为TIMESTAMP。 影响:MySQL的TIMESTAMP范围最大为2038年,超过了该日期只能使用DATETIME类型。 |