文档首页 > > 工具指南> Migration Tool SQL语法迁移工具> 配置Migration Tool> Oracle(Beta)SQL配置

Oracle(Beta)SQL配置

分享
更新时间: 2019/08/09 GMT+08:00

Oracle(Beta)会根据用户输入命令中的版本参数,自动匹配对应版本GaussDB内核所支持的语法特性。在这一过程中用户无需修改配置文件的信息。

在config文件夹下存在oracle-migration-common.properties、oracle-migration-V1R7.properties和oracle-migration-V1R8_330.properties三个配置文件。common.properties配置文件中包含的特性适用于各个Gauss版本,V1R7、V1R8_330两个properties配置文件下包含的特性分别适配于V1R7、V1R8_330版GaussDB。MT执行过程中会根据用户输入命令中的版本参数,选择相应的配置文件。

表1 oracle-migration-X.properties文件中的配置参数

参数

类别

说明

GaussDB内核最低支持版本

默认值

Timeout

MT工具配置参数

该参数指代MT工具运行超时设置,单位为小时(HOUR)

-

4

deleteIntermediateLevels

MT工具配置参数

该参数指代MT工具迁移时是否删除运行过程文件

-

TRUE

cmd_prompt

SQL*Plus 命令

Oracle SQL Plus命名PROMPT

-

-

cmd_set_serveroutput

SQL*Plus 命令

Oracle SET SERVEROUTPUT命令

-

-

cmd_set_define

SQL*Plus 命令

Oracle SET DEFINE命令

-

-

tbl_pk_notSupersetOf_distributionKey

外联主键约束与Gauss分布列冲突

-

-

tbl_onCommitDeleteRows

Oracle 事务临时表

V1R7

V1R7 默认为 false

V1R8 330 默认为 false

tbl_global_temp

Oracle 全局临时表

-

LOCAL

tbl_drop_purge

Oracle PURGE语句

DROP TABLE tblName PURGE;

-

-

tbl_segmentCreation

Oracle建表语句中指定"段创建"的关键字

-

-

tbl_storage_attr_clause

Oracle建表语句中的存储属性

-

-

tbl_supplementalLogData

Oracle 表级补充日志

-

-

tbl_idxOrganized

Oracle 索引组织表

-

-

tbl_physical_attr_clause

Oracle 建表语句中的物理属性

-

-

sysfn_regexp_instr

系统函数

Oracle REGEXP_INSTR系统函数

-

-

sysfn_regexp_replace

系统函数

Oracle REGEXP_REPLACE系统函数

-

-

sysfn_regexp_substr

系统函数

Oracle REGEXP_SUBSTR系统函数

-

-

sysfn_wm_concat

系统函数

Oracle WMSYS.WM_CONCAT系统函数

-

-

sysfn_add_months

系统函数

Oracle ADD_MONTHS系统函数

V1R7

V1R7 默认为 false

V1R8 330 默认为 false

sysfn_months_between

系统函数

Oracle MONTHS_BETWEEN系统函数

-

-

sysfn_last_day

系统函数

Oracle LAST_DAY系统函数

-

-

sysfn_ratio_to_report

系统函数

Oracle RATIO_TO_REPORT() OVER()系统(分析)函数

-

-

sysfn_userenv

系统函数

Oracle USERENV系统函数

-

-

sysfn_dbms_lob_createtemporary

系统函数

Oracle DBMS_LOB.CREATETEMPORARY 系统函数

-

-

sysfn_dbms_lob_freetemporary

系统函数

Oracle DBMS_LOB.FREETEMPORARY 系统函数

-

-

sysfn_dbms_lob_append

系统函数

Oracle DBMS_LOB.APPEND 系统函数

-

-

sysfn_dbms_lob_instr

系统函数

Oracle DBMS_LOB.INSTR 系统函数

-

-

sysfn_table

系统函数

Oracle TABLE 系统函数

-

-

sysfn_systimestamp

系统函数

Oracle SYSTIMESTAMP 系统函数

-

-

sysfn_sysdate

系统函数

Oracle SYSDATE系统函数

-

-

sysfn_sys_guid

系统函数

Oracle SYS_GUID系统函数

-

-

sysfn_stragg

系统函数

Oracle SYS.STRAGG系统函数

-

-

sysfn_to_clob

系统函数

Oracle TO_CLOB 系统函数

-

-

qry_tbl_alias_w_brackets_in_from_clause

查询语句

形如下列语句中在FROM部分使用括号限定表名、表别名的场景

SELECT e.ename,d.deptno

FROM (emp e) , (dept) d;

-

-

exec_purge_recyclebin

DDL语句

Oracle PURGE语句

PURGE RECYCLEBIN;

PURGE DBA_RECYCLEBIN;

PURGE TABLESPACE tsName USER userName;

-

-

exec_alterSessionParallel

DDL语句

Oracle PL/SQL 中启用会话并行

-

-

qry_order_for_having_groupBy_clause

DML语句

Oracle在聚合查询时可以不区分GROUP BY与HAVING子句的顺序

-

-

isrt_first

DML语句

Oracle INSERT FIRST语句

-

-

qry_merge

DML语句

Oracle MERGE语句

V1R8 330

V1R7 默认为 true

V1R8 330 默认为 false

other_implicit_conversion

DML语句

Oracle SELECT语句中使用静态常量值的场景

V1R8 330

V1R7 默认为 true

V1R8 330 默认为 false

qry_unique

DML语句

Oracle SELECT中的UNIQUE关键字(类同 DISTINCT)

-

-

isrt_w_tbl_alias

DML语句

Oracle INSERT语句中的表别名

-

-

isrt_all

DML语句

Oracle INSERT ALL语句

-

-

pkg_naming

该参数代指MT拆包(Oracle Package)方案,可选值有REMOVE_SCHEMA/MERGE_PACKAGE/false

-

MERGE_PACKAGE

pkg_editionable

Oracle创建包时使用EDITIONABLE(可编辑对象,与"版本"特性相关)关键字限定包属性

-

<br>

opr_outerJoin

操作符

Oracle在WHERE子句中使用(+)作外连接标识符

V1R8 330

V1R7 默认为 true

V1R8 330 默认为 false

opr_forwardSlash_at_vw_end

操作符

Oracle允许创建视图VIEW时使用"/"作结束符(通常使用";"作语句结束符),而Gauss不支持该用法

-

-

opr_qLiteral

操作符

Oracle SELECT语句中使用q声明静态常量

-

-

sp_refcur_openFor_with_clause

过程

含CTE结构的SQL Query语句出现在游标场景中

V1R8 330

V1R7 默认为 true

V1R8 330 默认为 false

table_userDefinedDatatypes

集合

Oracle用户定义对象(OBJECT)类型例 CREATE TYPE tyName AS OBJECT()

V1R7

V1R7 默认为 false

V1R8 330 默认为 false

plsqlCollectionplsqlCollection

集合

Oracle 集合特性迁移开关,"varraySize"和"varrayObjectSize"是其涉及的两个参数项

-

TRUE

varraySize

集合配置参数

Oracle集合-由INTEGER、VARCHAR2等基本数据类型组成的关联数组(Associative Array)、嵌套表(Nested Table)或变长数组(VARRAY)类型集合的迁移大小设置,"plsqlCollection"是该特性开关

-

1024

varrayObjectSize

集合配置参数

Oracle集合-由RECORD或者OBJECT类型组成的嵌套表(Nested Table)类型集合的迁移大小设置,"plsqlCollection"是该特性开关

-

10240

trans_rollback

事务

Oracle PL/SQL 事务控制

-

-

trans_commit

事务

Oracle PL/SQL 事务控制

-

-

vw_force

视图

Oracle 创建视图时使用FORCE关键字

-

-

typ_string

数据类型

Oracle PL/SQL STRING 数据类型

-

-

typ_long

数据类型

Oracle LONG 数据类型

-

-

typ_pls_integer

数据类型

Oracle PL/SQL PLS_INTEGER 数据类型

-

-

typ_timestamp

数据类型

Oracle TIMESTAMP 数据类型

-

-

typ_char_w_n_char

数据类型

Oracle CHAR(n CHAR) 数据类型

-

-

typ_float

数据类型

Oracle FLOAT 数据类型

-

-

typ_longRaw

数据类型

Oracle LONG RAW 数据类型

-

-

typ_number_asterisk

数据类型

Oracle NUMBER(*,0) 数据类型

-

-

idx_create_w_schema

索引

创建索引时索引名前含有SCHEMA,即SchemaName.IndexName形式,而Gauss不支持在索引名前限定Schema

-

-

idx_bmp

索引

Oracle 位图索引

-

comment

syn_synonym

同义词

Oracle 创建同义词

-

-

rowid

伪列

Oracle ROWID伪列

-

-

rownum

伪列

Oracle ROWNUM 伪列

V1R7

V1R7 默认为 false

V1R8 330 默认为 false

syspkg_utl_file

系统包

Oracle SYS.UTL_FILE系统包

V1R8 330

V1R7 默认为 true

V1R8 330 默认为 false

seq_create

序列

Oracle创建序列时使用CREATE关键字

V1R7

V1R7 默认为 false

V1R8 330 默认为 false

seq_nextval

序列

Oracle通过NEXTVAL关键字使用序列

-

-

seq_maxvalue

序列

序列最大值默认设定

-

9223372036854770000

excp_sqlerrm_w_sqlcode

异常

Oracle异常处理函数,SQLCODE用于取得错误号,SQLERRM用于取得错误信息

-

-

excp_dup_val_on_index

异常

Oracle 预定义异常,DUP_VAL_ON_INDEX 违反主键或唯一索引异常

-

-

excp_invalid_number

异常

Oracle 预定义异常,INVALID_NUMBER数值异常。在一个SQL语句中,由于字符串并不代表一个有效的数字,导致字符串向数字转换时会发生错误(在过程化语句中,会抛出异常VALUE_ERROR)。当FETCH语句的LIMIT子句表达式后面不是一个正数时,这个异常也会被抛出

-

-

excp_zero_divide

异常

Oracle 预定义异常,ZERO_DIVIDE除零异常

-

-

fn_end_stmt_w_fn_name

#True will handle [function|procedure|package] end statement with [function|procedure|package] names

用户定义函数

Oracle 存储过程名|自定义函数名出现在END结束符后,Gauss不支持这种用法

-

-

fn_result_cache

用户定义函数

在自定义函数中使用数据集缓存RESULT_CACHE能够减少函数内部查询调用次数,提高运行效率

-

-

fn_parallel_enable

用户定义函数

Oracle 自定义函数中启用并行PARALLEL_ENABLE

-

-

cons_name_sameAs_tbl_name

约束

Oracle建表语句中约束名与表名相同(含外联主键约束、内联主键约束、内联唯一约束等场景)

-

-

cons_modify_col_not_null

约束

Oracle设定某列非空约束

-

-

cons_inline_usingIndex

约束

Oracle 内联约束中使用USING INDEX指定关联索引

-

-

cons_fk

约束

Oracle 外键约束

-

-

cons_enable

约束

Oracle 约束中使用ENABLE关键字

-

-

sp_call_wo_param

过程

Oracle 在某存储过程内调用其他无参存储过程时可省略括号

-

-

sp_autonomous_trans

过程

Oracle 自治事务

-

-

ptbl_list

分区表

Oracle 列表(LIST)分区表

-

-

ptbl_range_w_interval

分区表

Oracle INTERVAL类型的范围分区表

-

-

ptbl_hash

分区表

Oracle 哈希分区表

-

-

ptbl_hash_w_sub

分区表

Oracle 哈希子分区表

-

-

ptbl_list_w_sub

分区表

Oracle 列表子分区表

-

-

ptbl_range_w_sub

分区表

Oracle 范围子分区表

-

-

ptbl_physical_attr_clause

分区表

Oracle 分区表中的物理属性

-

-

addAsToKeyword

关键字

该特性所涉及的关键字是Gauss保留字,在Gauss中作列别名时必须显式注明"AS"。

涉及三种主要场景

1) DML 普通SELECT语句中的列别名

2) PL/SQL SELECT INTO语句中的列别名

3) 创建视图、或建表等DDL语句的SELECT子句中的列别名

"addAsToKeyword"指代是否开启该功能,"migrateKeywordUsingAS"是该特性涉及的关键字列表

-

TRUE

migrateKeywordUsingAS

关键字配置参数

该特性所涉及的关键字是Gauss保留字,在Gauss中作列别名时必须显式注明AS。

涉及三种主要场景

1) DML 普通SELECT语句中的列别名

2) PL/SQL SELECT INTO语句中的列别名

3) 创建视图、或建表等DDL语句的SELECT子句中的列别名

"migrateKeywordUsingAS"指代涉及的关键字列表,"addAsToKeyword"是该特性开关

-

owner,key,begin,label,version,text,year,position,function,end,procedure,limit,split,name,value,app,action,role,comments,fileheader,language,header,type,content,show,maxvalue,offset,return,time,authorization,range,account

addDoubleQuoteToKeyword

关键字

当Oracle数据库对象为Gauss保留字时,MT工具迁移时会为其添加双引号。

该特性涉及场景主要是各种数据库创建DDL语句中的对象名称,包括表名、列名、视图名、函数名、包名、过程名、索引名等。

"addDoubleQuoteToKeyword"指代是否开启该功能,"migrateKeywordUsingQuote"是该特性涉及的关键字列表

-

TRUE

migrateKeywordUsingQuote

关键字配置参数

当Oracle数据库对象为Gauss保留字时,MT工具迁移时会为其添加双引号。

该特性涉及场景主要是各种数据库创建DDL语句中的对象名称,包括表名、列名、视图名、函数名、包名、过程名、索引名等。

"migrateKeywordUsingQuote"指代涉及的关键字列表,"addDoubleQuoteToKeyword"是该特性开关

-

function,end,procedure,limit,split,maxvalue,offset,return,type

alter_idx_with_logging_clause

索引

Oracle索引的日志模式,MT工具支持LOGGING|NOLOGGING两种参数

-

-

cons_outlineUnique

约束

当某表无主键约束,且仅有一个外联唯一性约束时,MT工具会将其迁移为表内联唯一性约束

-

-

idx_functionBasedIndexes_caseExp

索引

基于CASE表达式的函数索引

-

-

idx_functionBasedIndexes_decode

索引

基于DECODE的函数索引

-

-

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区