更新时间:2023-03-17 GMT+08:00

迁移流程概述

DSC支持以下迁移场景:

  • 迁移 Teradata SQL
  • 迁移 Oracle SQL
  • 迁移 Teradata Perl files
  • 迁移 Netezza
  • 迁移 MySQL SQL
  • 迁移 DB2

DSC迁移流程如图1所示。

图1 语法迁移流程

本节描述启动迁移过程前需要完成的前提条件。

执行自定义脚本

DSC配置在DSC/scripts中包含如下自定义数据库脚本:

  • date_functions.sql : Oracle日期函数的自定义数据库脚本。
  • environment_functions.sql:Oracle环境函数的自定义数据库脚本。
  • string_functions.sql:Oracle字符串函数的自定义数据库脚本。
  • pkg_variable_scripts.sql:Oracle包变量函数的自定义数据库脚本。
  • sequence_scripts.sql:Oracle序列函数的自定义数据库脚本。
  • mig_fn_get_datatype_short_name.sql:Teradata函数的自定义数据库脚本。
  • mig_fn_castasint.sql : CAST AS INTEGER迁移的自定义数据库脚本。
  • vw_td_dbc_tables.sql:DBC.TABLES迁移的自定义数据库脚本。
  • vw_td_dbc_indices.sql:DBC.INDICES迁移的自定义数据库脚本。

需要通过这些脚本来支持目标数据库一个或多个版本中不存在的某些关键字。这些脚本在迁移之前必须在目标数据库中执行一次。

关于执行自定义数据库脚本的更多信息,请参考配置自定义数据库脚本

使用以下任一方法在要执行迁移的所有目标GaussDB(DWS)数据库中执行所需的脚本:
  • 使用gsql连接到GaussDB(DWS)数据库并将.sql文件中的所有内容粘贴到gsql,粘贴的内容将自动执行。

    执行如下命令连接到GaussDB(DWS)数据库:

    1
    gsql -h <host_addr_xxx.xxx.xxx.xxx> -d <database_name> -U <user_name> -W <password> -p <port_number> -r
    
  • 使用gsql连接到GaussDB(DWS)数据库并执行.sql文件。

    执行如下命令连接到GaussDB(DWS)数据库并执行.sql文件:

    1
    gsql -h <host_addr_xxx.xxx.xxx.xxx> -d <database_name> -U <user_name>  -W <password>  -p <port_number> -f <filename.sql> -o <output_filename> -L <log_filename.log>  -r
    
  • 使用Data Studio连接到GaussDB(DWS)数据库,然后在Data Studio中打开并执行.sql文件。
  • 在迁移Oracle PL/SQL(存储过程/函数)对象之前,先通过Bulk类型迁移所有DDL及DML命令,然后再通过BLogic类型迁移PL/SQL对象。

    如果迁移类型为Bulk,则输入文件不允许包含PL/SQL对象。

    同样,如果迁移类型为BLogic,则输入文件不允许包含DDL/DML命令。

配置DSC和迁移属性

DSC在DSC/config folder中包含如下配置文件:

  • application.properties: DSC的配置参数。
  • features-teradata.properties: Teradata SQL迁移的配置参数。
  • features-oracle.properties: Oracle SQL迁移的配置参数。
  • oracle-migration.properties: Oracle (Beta) SQL迁移的配置参数。
  • perl-migration.properties: Perl迁移的配置参数。
  • features-netezza.properties: Netezza迁移的配置参数。
  • features-mysql.properties: MySQL SQL迁移的配置参数。

更新配置参数的更多信息,请参考DSC配置,。