检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
约束和限制 DSC迁移Teradata的约束和限制如下: DSC仅用于语法迁移,不支持数据迁移。 如果在将IN/NOT IN操作符转换为EXISTS/NOT EXISTS时,子查询的SELECT子句包含aggregate函数,则可能导致迁移失败。 Teradata 如果含有FOR
导出数据库 GaussDB(DWS)支持使用gs_dump工具导出某个数据库级的内容,包含数据库的数据和所有对象定义。可根据需要自定义导出如下信息: 导出数据库全量信息,包含数据和所有对象定义。 使用导出的全量信息可以创建一个与当前库相同的数据库,且库中数据也与当前库相同。 仅导
OUTER JOIN 本节主要介绍Oracle OUTER JOIN的迁移语法。迁移语法决定了关键字/功能的迁移方式。 OUTER JOIN会返回所有满足关联条件的行。此外,如果无法为一个表中的某些行在另一个表中找到任何满足关联条件的行,则该语句会返回这些行。在Oracle中:
DML(Netezza) GaussDB(DWS)关键字:SOURCE指定为无AS关键字的列别名 Netezza语法 迁移后语法 1 2 3 4 SELECT SUBSTR( OP_SOURCE ,1 ,4 ) SOURCE , ONLINE_FLAG, 'TRD' AS
Bitmap索引 该功能通过BitmapIndexSupport设置,迁移过程中默认注释掉Bitmap索引。 输入:Bitmap索引 1 2 3 CREATE BITMAP INDEX emp_bitmap_idx ON index_demo (gender); 输出 1 /*CREATE
HASH索引 GaussDB(DWS)不支持HASH索引。DSC工具迁移时会根据GaussDB(DWS)的特性将其迁移为普通索引。 内联HASH索引。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 CREATE TABLE `public`.`
TABLE语句用于创建表。GaussDB(DWS)直接支持该语句,无需迁移。 ALTER TABLE Oracle的ALTER TABLE语句用于新增、重命名、修改或删除表列。GaussDB(DWS)直接支持该语句,无需迁移。 PRIMARY KEY Oracle中如果存在两张表具有相同的主键字段,则在执行ALTER
普通索引和前缀索引 HASH索引 BTREE索引 SPATIAL空间索引 FULLTEXT全文索引 删除索引 索引重命名 父主题: MySQL语法迁移
CURSOR会被识别并迁移至引用位置。包体中的函数和过程将迁移到单独的函数和过程中。包体中的类型和变量会迁移到各个函数和过程中。 如果包规范和包体的模式名称不匹配,则DSC将在schematoolError.log文件中记录模式名称不匹配的错误。 图1 PL/SQL包迁移 输入:PL/SQL包(包规范和包体)
分析表 执行计划生成器需要使用表的统计信息,以生成最有效的查询执行计划,提高查询性能。因此数据导入完成后,建议执行ANALYZE语句生成最新的表统计信息。统计结果存储在系统表PG_STATISTIC中。 分析表 ANALYZE支持的表类型有行/列存表、HDFS表、ORC/CARB
系统视图 DSC将系统视图dbc.columnsV和dbc.IndicesV进行迁移,输出如下结果。 输入: 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 26 27 28 29
supportJoinOperator配置参数。 设置supportJoinOperator=false后OUTER QUERY (+)可迁移。 输入:OUTER QUERY(+) 1 2 3 4 5 6 7 8 9 SELECT PP.PUBLISH_NO
彻底删除一个已删除表空间的部分或全部内容。 通过Oracle语法迁移后,查询中将不含PURGE。 以下示例分别展示PURGE在迁移前后语法的变化: PURGE迁移前 图1 输入:包含PURGE的语句 PURGE迁移后 图2 输出:语句中不包含PURGE 父主题: 模式对象
product_code , 1 AS LEVEL FROM asms.cppsv_operation_sort t , asms.cppsv_product_class pr WHERE level_id
PROCEDURE(使用RETURNS) 使用RETURNS的PROCEDURE迁移为使用RETURNS的FUNCTION。 Netezza语法 迁移后语法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
全局临时表 全局临时表迁移为本地临时表。 输入:GLOBAL TEMPORARY TABLE CREATE GLOBAL TEMPORARY TABLE "Pack1"."GLOBAL_TEMP_TABLE" ( "ID" VARCHAR2(8)
系统函数(Netezza) ISNULL() Netezza语法 迁移后语法 1 2 3 4 5 SELECT A.ETL_DATE, A.BRANCH_CODE, A.CUST_NO , ISNULL ( B.RES_STOCK,0) AS RES_STOCK
包拆分 包规范迁移为以包名命名的模式,包体中的存储过程和函数迁移为Packagename.procedurename和Packagename.funtionname。 设置pkgSchemaNaming=true后,可以进行迁移。 输入: PACKAGE1.FUNC1 1 2
视图是基于一个或多个表或视图的逻辑表。视图本身不含数据。 在输入中,如果表名称前没有模式名称修饰,则在输出中,会修改为用视图的模式名去修饰表。 以下为视图迁移前后的语法示例: 表名称不带模式名 图1 输入:视图中不带模式名的表tab1、tab2 表名称包含模式名 图2 输出:用视图的模式名去修饰表
DBC.INDICES DSC将dbc.indices迁移为对应的mig_td_ext.vw_td_dbc_indices。 示例:databasename迁移为mig_td_ext.vw_td_dbc_tables.schemaname。 输入: 1 2 3 4 5 sel databasename