检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
伪列 本节主要介绍Oracle伪列的迁移语法。迁移语法决定了关键字/功能的迁移方式。 伪列与表的列类似,但不存储在表中。用户可在伪列中进行SELECT操作,但无法插入、更新、或删除其中的值。 ROWID ROWID伪列返回特定行的具体地址。 图1 输入:ROWID 图2 输出:ROWID
Oracle语法迁移 Oracle迁移概述 模式对象 COMPRESS短语 Bitmap索引 自定义表空间 附加日志数据 LONG RAW SYS_GUID DML(Oracle) 伪列 OUTER JOIN OUTER QUERY (+) CONNECT BY 系统函数 PL/SQL
DSC支持在执行INSERT期间指定部分列(非全部列)。当输入的INSERT语句不包含输入的CREATE语句中提到的所有列时会出现这种情况。在迁移时,会向这些列添加指定的默认值。 session_mode设为Teradata时支持此功能。 INSERT-INTO-SELECT中的SELECT语句不得包含以下内容:
迁移后数据一致性验证 场景描述 图1 迁移场景 主要包括云上和云下的MySQL数据迁移,支持整库迁移或者单表迁移,本文以云下MySQL的整库迁移为例。 云下MySQL数据迁移: CDM通过公网IP访问MySQL数据库,CDM与GaussDB(DWS)在同一个VPC下,CDM分别与MySQL和DWS建立JDBC连接。
表(Netezza) 分布键 DISTRIBUTE ON (column)迁移为DISTRIBUTE BY HASH (column)。 Netezza语法 迁移后语法 1 2 3 4 5 6 7 8 9 10 11 12 CREATE TABLE N_AG_AMT_H
Netezza语法迁移 表(Netezza) PROCEDURE(使用RETURNS) Procedure 系统函数(Netezza) 算子 DML(Netezza) Unique Index 父主题: DSC
PL/SQL 本节主要介绍Oracle PL/SQL的迁移语法。迁移语法决定了关键字/功能的迁移方式。 PL/SQL是SQL和编程语言过程特性的集合。 SQL命令 GaussDB(DWS)暂不支持set define off/on、spool off,经过DSC工具转换后,在目标数据库中将相关命令注释掉。
COLUMN) ON COMMIT PRESERVE ROWS DISTRIBUTE BY HASH (c1, c2); 父主题: 表迁移
) ) ; CREATE INDEX ON SC.TAB (UPD_TXF_BATCHTD) LOCAL; 父主题: 表迁移
Netezza语法 迁移后语法 1 V_Out := V_Out + v_J * ( v_N ** v_K ) ; 1 V_Out := V_Out + v_J * ( v_N ^ v_K ) ; NOTNULL and ISNULL Netezza语法 迁移后语法 1 CASE
expr2, … FROM tab1, … WHERE …. MINUS SELECT * FROM tab1 ; 父主题: 表迁移
DML(Oracle) 本节主要介绍Oracle DML的迁移语法。迁移语法决定了关键字/功能的迁移方式。 具体见以下节点内容: SELECT INSERT MERGE SELECT 概述 Oracle的SELECT语句可以启动查询,使用一个可选的ORDER BY子句,该子句用于从数据库的一个或多个表中提取记录。
VARRAY REF CURSOR定义为返回参数。 设置plSQLCollection=varray后进行迁移。 输入: VARRAY 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
TEMPORARY TABLE迁移为LOCAL TEMPORARY TABLE。 同样,GaussDB(DWS)也不支持ON COMMIT DELETE ROWS。它会将其迁移为ON COMMIT PRESERVE ROWS。 以下示例为临时表迁移前后的语法: 临时表迁移前 图1 表中包含GLOBAL
supportJoinOperator配置参数。 设置supportJoinOperator=false后OUTER QUERY (+)可迁移。 输入:OUTER QUERY(+) 1 2 3 4 5 6 7 8 9 SELECT PP.PUBLISH_NO
包拆分 包规范迁移为以包名命名的模式,包体中的存储过程和函数迁移为Packagename.procedurename和Packagename.funtionname。 设置pkgSchemaNaming=true后,可以进行迁移。 输入: PACKAGE1.FUNC1 1 2
MySQL SQL迁移 工具支持从MySQL到GaussDB(DWS)的迁移,包括模式、DML、查询、系统函数、PL/SQL等。 在LINUX中执行MySQL迁移 在Linux中执行以下命令开始迁移。用户需指定源数据库、输入和输出文件夹路径和日志路径;应用程序语言类型是SQL。
彻底删除一个已删除表空间的部分或全部内容。 通过Oracle语法迁移后,查询中将不含PURGE。 以下示例分别展示PURGE在迁移前后语法的变化: PURGE迁移前 图1 输入:包含PURGE的语句 PURGE迁移后 图2 输出:语句中不包含PURGE 父主题: 模式对象
约束和限制 DSC迁移Teradata的约束和限制如下: DSC仅用于语法迁移,不支持数据迁移。 如果在将IN/NOT IN操作符转换为EXISTS/NOT EXISTS时,子查询的SELECT子句包含aggregate函数,则可能导致迁移失败。 Teradata 如果含有FOR
COMPRESS短语 该功能通过对COMPRESS设置,迁移过程中默认注释掉COMPRESS短语。 输入:COMPRESS短语 1 2 3 4 5 6 7 8 9 10 11 12 13 CREATE TABLE test_tab ( id