更新时间:2024-01-18 GMT+08:00
分享

Oracle -> GaussDB

配置参数

参数名称

参数说明

影响对象

修改建议

long_support

long数据类型

适用于包含LONG列的表。Oracle中, LONG数据类型最大可存储2GB数据。GaussDB中,TEXT数据类型最大可存储1GB数据。

表,函数,存储过程,触发器,用户定义类型

Oracle中, LONG最多支持2GB数据。GaussDB中没有等效的数据类型。用户设置long_support参数,UGO将LONG数据类型转换为TEXT,该数据来类型最大支持1GB数据。如果列/变量数据值超出限制,则数据更改操作(插入、更新和变量赋值)将失败,并将引发错误。

超过数据大小限制的情况很少发生。用户可以验证实际数据大小,并了解服务所支持的最大数据大小,如果需要,用户可以添加一个额外的列,并在引用该列的任何地方进行适当的更改。

longraw_support

long raw数据类型

适用于包含LONG RAW列的表。Oracle中, LONG RAW数据类型最大可存储2GB数据。GaussDB中,BYTEA数据类型最大可存储53862709字节。

表,函数,存储过程,触发器,用户定义类型

Oracle LONG RAW最多支持2GB数据,GaussDB中没有等效的数据类型。用户设置long_support参数,UGO将LONG RAW数据类型转换为BYTEA数据类型,该数据类型最大支持536862709字节(512 MB-8203字节)。如果列/变量数据变量超出限制,则数据更改(插入、更新和变量赋值)操作将失败,并将引发错误。

超过数据大小限制的情况很少发生。用户可以验证实际数据大小,并了解服务所支持的最大数据大小。如果需要,用户可以添加一个额外的列,并在引用该列的地方进行适当的更改。

clob_datatype_show_error

clob数据类型

适用于包含CLOB列的表。Oracle中,CLOB数据类型最大可存储4GB数据。GaussDB中,CLOB/TEXT数据类型最大可存储1GB数据。

表,函数,存储过程,触发器,用户定义类型

Oracle CLOB数据类型最多支持4GB数据。GaussDB也支持CLOB数据类型,但其最多支持1GB的数据。用户设置clb_datatype_show_error参数,UGO将记录错误消息。如果列/变量数据值超出限制,则数据更改(插入、更新和变量赋值)操作将失败,并将引发错误。

超过数据大小限制的情况很少发生。用户可以验证实际数据大小,并了解服务所支持的最大数据大小。如果需要,用户可以添加额外的列,并在引用该列的地方进行适当的更改。

nclob_support

nclob数据类型

适用于包含NCLOB列的表。Oracle中,NCLOB数据类型最大可存储4GB数据。GaussDB V5中,TEXT数据类型最大可存储1GB数据。

表,函数,存储过程,触发器,用户定义类型

Oracle NCLOB数据类型最大支持4GB数据。GaussDB中没有等效的数据类型。用户设置nclob_support参数,UGO将NCLOB数据类型转换为TEXT数据类型,该数据类型最大可支持1GB数据。如果列/变量数据值超出限制,则数据更改(插入、更新和变量赋值)操作将失败,并将引发错误。

超过数据大小限制的情况很少发生。用户可以验证实际数据大小,并了解要支持的最大数据大小。如果需要,用户可以添加额外的列,并在引用该列的地方进行适当的更改。

float_support

float数据类型

适用于包含FLOAT列的表,且FLOAT指定为FLOAT/FLOAT(n),其中n > 53。如果n未被指定,默认值为126。

表,函数,存储过程,触发器,用户定义类型

Oracle FLOAT数据类型的最大精度(默认值)为126。GaussDB支持FLOAT数据类型,其被隐式转换为DOUBLE PRECISION数据类型。用户可以配置float_support参数,UGO将FLOAT数据类型转换为DOUBLE PRECISION数据类型(最大值为53)或NUMBER 数据类型(在小数点前的范围高达131,072位)点,小数点后最多16,383位)。如果将其转换为DOUBLE PRECISION,精度大于53,将引发错误,语句将失败。

用户可以根据实际精度值配置该参数。如果未指定或大于53,用户可以将参数设置为NUMBER或设置为FLOAT(53)。

xml_support

XMLTYPE数据类型

适用于包含XMLTYPE数据类型的表。

表,函数,存储过程,触发器,用户定义类型

Oracle XMLTYPE数据类型数据最多支持4GB数据。GaussDB中没有等效的数据类型。用户设置xml_support参数,UGO将XMLTYPE数据类型转换为TEXT或JSON,该两种类型都最大支持1GB数据,并且都与Oracle XMLTYPE不匹配。

超过数据大小限制的情况很少发生。用户可以验证实际数据大小并了解要支持的最大数据大小。如果需要,用户可以添加额外的列,并在引用该列的地方进行适当的更改。用户可以编写用户定义的函数或编写应用程序端代码。

number_with_zero_scale

小数位数为零的数字数据类型

适用于包含小数位数为零或无小数位数的数字数据类型的表。

表,函数,存储过程,触发器,用户定义类型

如果NUMBER数据类型的比例为0,用户可以使用UGO将NUMBER数据类型转换为INTEGER数据类型(smallint , int , bigint)。

SDO_GEOMETRY

SDO_GEOMETRY对象类型

适用于包含SDO_GEOMETRY对象类型的表。GaussDB没有等价的数据类型。

表,函数,存储过程,触发器,用户定义类型

GaussDB中没有等效的数据类型。GaussDB支持用户自定义数据类型,可以将此数据类型转换为用户自定义数据类型,并在引用具有此类型列/变量的地方进行适当的更改。

MBRCOORDLIST

MDSYS.MBRCOORDLIST对象类型

适用于包含MDSYS.MBRCOORDLIST对象类型的表脚本。GaussDB没有等价的数据类型。

表,函数,存储过程,触发器,用户定义类型

GaussDB中没有等效的数据类型。GaussDB支持用户自定义数据类型,可以将此数据类型转换为用户自定义数据类型,并在引用具有此类型列/变量的地方进行适当的更改。

GEOMETRY

GEOMETRY对象类型

适用于包含GEOMETRY对象类型的表脚本。GaussDB没有等价的数据类型。

表,函数,存储过程,触发器,用户定义类型

GaussDB中没有等效的数据类型。GaussDB支持用户自定义数据类型,可以将此数据类型转换为用户自定义数据类型,并在引用具有此类型列/变量的地方进行适当的更改。

partition_columns_with_unique_constraint

具有唯一约束的表列分区

适用于包含分区语法以及主键或唯一键的表脚本。

表,索引

GaussDB中唯一约束(包括主键)指定的列应该是区键列的超级集。由于此限制,如果唯一约束不包含任何一个分区键列,则表创建失败。

用户设置partition_columns_with_unique_constraint参数后, UGO可以注释唯一约束或将分区列添加到唯一约束中。转换后,表中可能会创建重复记录,因此在其子表中创建引用完整性约束时也会产生问题,GaussDB不支持。

mig_interval_partition

表间隔分区

适用于包含INTERVAL分区语法的表脚本。

GaussDB不支持间隔分区,用户设置mig_interval_partition参数注释此语法。注释后,该表将成为普通表(而不是分区表),客户将无法获得分区在性能、可管理性和可用性等方面的优势。

根据指定的间隔分区条件创建多个表(在不同的表空间上),并在引用表的地方进行适当的更改。

on_null_support

DEFAULT ON NULL子句

适用于包含DEFAULT ON NULL关键字的表脚本。DEFAULT ON NULL子句强制将列设置为默认值,即使INSERT语句中显式包含空值。GaussDB中没有等价的子句。

GaussDB中没有等效的子句。可以在表上写“插入触发器”语句处理此问题。

generated_identity_support

IDENTITY列

适用于包含IDENTITY列,且该列使用GENERATED AS IDENTITY的表脚本。

表,序列

用户可以将此参数设置为适当的值(如:Serial,Small Serial, BIG Serial, Default sequence)。

read_only_table

表只读子句

适用于包含“read only”关键字的表脚本。Oracle中,执行ALTER TABLE命令将表标记为只读。当表处于只读模式时,不允许执行任何试图修改表数据的操作。

用户可以将此参数设置为适当的值(如:Comment,Ignore,Trigger)。

global_temp_table_support

全局临时表

适用于包含GLOBAL TEMPORARY关键字的表脚本。全局临时表是一个永久的数据库对象,即使会话断开,表结构也会保留在数据库中。本地临时表仅仅对当前会话可用,一旦会话断开,该表就会被删除。GaussDB只支持本地临时表。

GaussDB分布式版本不支持全局临时表。用户设置global_temp_table_support参数转换为本地临时表。当结束会话时,本地临时表的数据清空,表也会被删除,而全局临时表只有数据清空。

调用一个自定义函数,该函数可以检查临时表是否存在于该表被引用的位置,如果不存在,则创建该表。

comment_foreign_key

FOREIGN KEY约束

适用于包含FOREIGN KEY的表脚本。

表,索引

GaussDB分布式版本不支持FOREIGN KEY约束。用户设置comment_foreign_key参数,注释该约束。注释后,并不能确保数据保持一致,即有可能创建不一致的数据。

在源表上写入适用的DML(插入、更新、删除)触发器。

unused_column_support

UNUSED关键字

适用于包含UNUSED关键字的表脚本。

用户可以将此参数设置为适当的值。0表示不转换,1表示删除未使用的列。

bitmap_index

bitmap索引

适用于包含BITMAP关键字的create index语句。

索引

用户可以将此参数设置为适当的值。0表示不转换,1表示注释BITMAP索引,2表示创建BTREE索引。

reverse_support

索引语句中使用REVERSE关键字

适用于包含REVERSE关键字的create index语句。

索引

用户可以将此参数设置为适当的值。IGNORE表示不转换,COMMENT表示注释REVERSE。

unsupported_func_index

索引中使用函数

适用于包含不支持函数(如TRUNC函数)的create index语句。

索引

用户可以将此参数设置为适当的值。0表示不转换,1表示注释创建索引的语句。

comment_tablespace

表空间(表空间映射高于此配置)

适用于包含TABLESPACE子句的create table和create index语句。

表空间,表

用户可以将此参数设置为适当的值。FALSE表示不转换,TRUE表示注释表空间。

viewEditioning

编辑视图

适用于包含EDITIONING关键字的视图脚本。Oracle允许在编辑视图中创建DML触发器。

视图

用户可以将此参数设置为适当的值。0表示不转换,1表示注释EDITIONING关键字。

seq_max_min_value

超出限制的序列值

适用于包含MAXVALUE/ MINVALUE的序列脚本,且该MAXVALUE/ MINVALUE值超出GaussDB支持的值。

序列,表

Oracle支持的MAXVALUE和MINVALUE分别为1027和-1026。如果输入的序列的MINVALUE / MAXVALUE超出范围(-9223372036854775808至9223372036854775807),gaussDB 主备版-2.0 企业版及之后版本替换为LARGE SEQUENCE,分布式和GaussDB 主备版-1.4 企业版替换为边界值。生成的序列值不会超出GaussDB V5的序列范围。如果最小值/最大值超过限制,GaussDB迁移脚本编译失败。

超过数据大小限制的情况很少发生。可以引入一个表保存这些序列的详细信息,包括最后生成的序列值、升序/降序、增量值等。此外,可以自定义函数匹配Oracle中的NEXTVAL和CURRVAL函数。

otherthan_gregorian

GREGORIAN以外的日历类型

适用于包含除GREGORIAN外日历类型的TO_DATE函数。

GaussDB中,TO_DATE和TO_TIMESTAMP函数只支持GREGORIAN日历指定的参数。Oracle中,如果 TO_DATE函数中指定了除GREGORIAN日历外的第三个参数,用户可以注释GREGORIAN日历(设置otherthan_gregorian 参数)。

无替代方案。

default_schema

设置默认schema名称

适用于创建数据库对象时,没有给定schema名称的情况。

schema

用户须根据要求设置默认schema的名称。

package_name_delimiter

设置包名分隔符

适用于包含创建包的脚本。

函数,触发器,存储过程

GaussDB某些版本支持包。用户可以设置此参数,将对象名称与子对象连接。

pkg_naming

适用于包,将允许将包作为schema或将包名称与存储过程和函数名称合并。

GaussDB某些版本支持包。用户可以设置此参数,将对象名称与子对象连接。

varray_size

PL/SQL表

适用于PL/SQL表在存储过程、函数和包中使用的情况。

包,函数,存储过程

用户可以根据需要设置VARRAY的大小。

record_type_usage_handling

Record类型

适用于存储过程、函数和包中使用Record类型的情况。

包,函数,存储过程

-

deployment_type

部署模式

适用于部署模式支持的特性。

包,函数,存储过程

GaussDB中,分布键列只支持其所支持的数据类型。如果表中的列不包含这些数据类型,则该表将创建失败。此外,如果主键/唯一约束的第一列数据类型不被支持,该表也将创建失败。

表中的所有数据类型都不被支持的情况很少发生。用户可以将标识的分布列数据类型转换为等价的,支持的数据类型。例如,如果标识的分布列是双精度数据类型(该分布列不支持该数据类型),用户可以将其转换为数字类型。

clob_function_support

在函数中使用clob数据类型

此适用于包含CLOB列的函数。 Oracle中,CLOB数据类型最大可存储4GB数据。GaussDB中,CLOB/TEXT数据类型最大可存储1GB数据。

函数,存储过程,触发器,用户定义类型

用户可以将此参数设置为适当的值。IGNORE表示不转换,MIGRATE表示转换为适当的数据类型。

blob_datatype_show_error

支持blob数据类型

此适用于包含BLOB列的函数。 Oracle中,BLOB数据类型最大可存储4GB数据。GaussDB中,BLOB数据类型最大可存储530MB数据。

表,函数,存储过程,触发器,用户定义类型

Oracle BLOB数据类型最多支持4GB数据。GaussDB支持BLOB数据类型,最多支持536862709字节(512 MB–8203字节)。用户设置blob_datatype_show_error参数,让UGO记录错误消息。如果列或变量的数据超出此限制,则数据更改(插入、更新和变量赋值)操作将失败,并将引发错误。 --- 超出数据大小限制的情况很少发生,因为用户可以验证实际数据大小,并了解该服务所支持的最大数据大小。若有需要,用户可以添加额外的列,并在引用该列的地方进行适当的更改。

temptable_schemaname_support

全局临时表名转换

适用于包含GLOBAL TEMPORARY关键字的输入表脚本,且实例为分布式部署。全局临时表可以被转换为本地临时表。在分布式模式下,GaussDB的临时表不支持schema 名。

-

unique_in_distributed_env

分布式环境(多数据节点)的唯一约束和索引

适用于包含唯一约束或索引的多数据节点目标数据库。

表,索引

GaussDB中,主键约束/唯一约束或索引中指定列的列表是指分布键列的列表超集。因此,CREATE TABLE、ALTER TABLE ADD CONSENT和CREATE UNIQUE INDEX语句在分布式环境中可能会执行失败。 --- 注释唯一约束或索引,将唯一索引转换为普通索引(通过注释UNIQUE关键字),或将分布列添加到的唯一约束/索引(设置unique_in_distributed_env参数)。转换后,表中可能会创建重复记录,因此在其子表中创建引用完整性约束时也会产生问题。

migrate_distributed_table

迁移分布式表和索引

不迁移分布式环境中的表和索引。

表,索引

-

external_global_user_support

全局或外部用户

.忽略或注释该语句,或将外部/全局用户转换为普通数据库用户。

系统

-

system_role_support

系统角色

无法将系统角色授予用户。此配置用于处理此类型要求。

系统

-

gauss_version

支持的GaussDB版本

基于该配置项值,UGO将执行package迁移

-

list_partition_support

LIST分区

GaussDB 3.2分布式和主备版本支持LIST分区。此配置将处理此类型要求

表,索引

GaussDB 3.1 分布式及其以下版本部署不支持LIST分区。用户可以在转换过程中注释该语法。注释后,该表将成为普通表(而不是分区表),客户将无法获得分区在性能、可管理性和可用性等方面的优势。

根据指定的LIST分区条件创建多个表(在不同的表空间上),并在引用表的地方进行适当的更改。

reserved_keyword_objectname_support

含有保留关键字符的对象名称大小写转换

含有保留关键字的对象名称将根据配置转换大小写。

表,索引,包,物化视图,函数,存储过程,触发器,用户自定义类型,视图

-

udt_support

用户定义类型

GaussDBV5R1的某些版本不支持用户自定义类型。此配置用于处理该数据类型。

包、函数、存储过程

-

hierarchial_clause_support

层次查询

GaussDB V5部分版本不支持层次查询。此配置将处理此类型要求。

包、物化视图、函数、存储过程、触发器、视图

-

bulk_collect_support

BULK COLLECT语法

GaussDB V5R2版本开始支持BULK COLLECT语法。此配置参数用于转换BULK COLLECT语法。

包、函数、存储过程、触发器

-

savepoint_support

SAVEPOINT语法

GaussDB V5R2版本开始支持SAVEPOINT语法。此配置用于处理该语法。

包、函数、存储过程、触发器

-

autonomous_transaction_support

AUTONOMOUS TRANSACTION语法

GaussDB V5R2不支持AUTONOMOUS TRANSACTION语法。此配置用于处理该语法。

包、存储过程、函数、触发器

-

large_seq_cycle

CYCLE IN SEQUENCE语法

GaussDB V5R1 不支持CYCLE IN SEQUENCE语法。此配置用于处理该语法。

序列

-

udt_support_inside_package

在包中使用用户自定义类型

GaussDB不支持UDT语法。此配置用于处理该语法。

包,函数,存储过程

-

insert_record_variable_support

INSERT语句中使用RECORD VARIABLE语法

GaussDB V5R2 不支持INSERT语句中使用RECORD VARIABLE语法。此配置用于处理该语法。

包,存储过程,函数

-

forall_support

FOR ALL语法

GaussDB V5R2 不支持FOR ALLSEQUENCE语法。此配置用于处理该语法。

包,存储过程,函数

-

rownum_support

ROWNUM

GaussDB 3.1 分布式及其以下的版本不支持ROWNUM。此配置用于处理此类型要求。

包,存储过程,函数

-

pkg_cursor_variable_support

游标变量

GaussDB V5R2 不支持包规范中定义的游标变量。此配置将处理该类型。

-

subpartition_support

Sub分区

GaussDB V5R2 部分版本不支持 Sub分区。此配置用于处理该类型。

-

subpartition_index_support

索引Sub分区

GaussDB V5R2 部分版本不支持索引Sub分区。此配置用于处理该类型。

表,索引

-

interval_partition_support

Interval分区

GaussDB V5R2 部分版本不支持Interval分区。此配置用于处理该类型。

-

hash_partition_support

Hash分区

GaussDB V5R2部分版本不支持Hash分区。此配置用于处理该类型。

-

alter_synonym_owner

同义词

GaussDB V5R2部分版本不支持同义词。此配置用于处理该类型。

同义词

-

any_index_privilege_support

索引权限

.GaussDB V5R2提供权限的语法不同。此配置将处理索引权限。

索引

-

any_trigger_privilege_support

触发器权限

GaussDB V5R2 提供权限的语法不同。此配置将处理索引权限。

触发器

-

create_any_object_privilege_support

对象权限

GaussDB V5R2提供权限的语法不同。此配置将处理对象权限。

所有对象

-

use_user_connection

用户连接

此配置用于设置执行GaussDB V5R2脚本的用户。

所有对象

-

sqlplus_unsupported_command

SQL PLUS

GaussDB V5R2 不支持SQL PLUS命令。此配置用于处理该请求。

SQL PLUS命令

Oracle SQL PLUS工具中有一组GaussDB不支持的命令。这将影响文件的创建、更改和显示结果。支持SQL PLUS可避免UGO迁移中引发错误。

GaussDB不直接支持SQL PLUS命令,需要使用GaussDB命令重新编写脚本。

unsupported_set_attributes_support

DBMS_SCHEDULER.SET_ATTRIBUTE

GaussDB V5R2 不完全支持DBE_SCHEDULER.SET_ATTRIBUTE,该语法等价于Oracle中的DBMS_SCHEDULER.SET_ATTRIBUTE。此配置用于处理该请求。

存储过程,函数,触发器,包,作业,调度,程序, 凭证,作业类

-

supported_set_attributes

GaussDB V5R2支持的SET ATTRIBUTES有利于DBMS_SCHEDULER.SET_ATTRIBUTE的迁移。

此配置将包含GaussDB支持的所有SET ATTRIBUTES,有利于迁移Oracle DBMS_SCHEDULER.SET_ATTRIBUTE。

存储过程,函数,触发器,包,作业,调度,程序, 凭证,作业类

-

create_db_destination_support

DBMS_SCHEDULER.CREATE_DATABASE_DESTINATION

GaussDB V5R2 中没有与Oracle等价的 DBMS_SCHEDULER.CREATE_DATABASE_DESTINATION。此配置用于处理该请求。

存储过程,函数,触发器,包,作业,调度,程序, 凭证,作业类

-

authid_support

PL/SQL对象的AUTHID子句

如果未指定AUTHID DEFINER/INVOKER,此配置用于决定是否添加AUTHID DEFINER。GaussDB V5R2C00及以上版本最新版本的默认配置为AUTHID DEFINER,与Oracle配置相匹配。而GaussDB V5R1版本默认配置为AUTHID INVOKER。

存储过程,函数,包,类型

-

systemview_case_support

对象名大小写

GaussDB V5R2 以小写字母存储数据库对象,而Oracle以大写字母存储对象。此配置用于处理该请求。

系统视图

-

special_character_objectname_support

含有特殊字符的对象名称大小写转换

含有特殊字符的对象名称将根据配置转换大小写

表,索引,包,物化视图,函数, 存储过程,触发器,用户自定义类型,视图

-

create_object_privilege_support

对象级权限

GaussDB V5R2 不支持对象级权限。此配置用于处理该请求。

系统

-

package_name_same_schema

包名称

包与schema同名

-

system_privilege_support

系统权限

GaussDB V5R2 不支持系统权限。此配置用于处理该请求。

系统

-

mismatch_charset_support

字符集不匹配

源字符集与目标字符集不匹配。此配置用于处理该请求。

所有对象

-

src_character_set

源库字符集

此配置用于选择源数据库字符集。

所有对象

-

target_character_set

目标库字符集

此配置用于选择目标数据库字符集。

所有对象

-

分享:

    相关文档

    相关产品