文档首页 > > 工具指南> Migration Tool SQL语法迁移工具> 使用Migration Tool> 迁移流程> 执行Migration Tool

执行Migration Tool

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

注意事项

  • 启动迁移程序前,必须指定输出文件夹路径。输入文件夹路径、输出文件夹路径以及日志路径以空格隔开。输入文件夹路径不能包含空格。路径空格会导致Migration Tool执行错误。详情参见故障处理
  • 如果输出文件夹中包含子文件夹或文件,Migration Tool在执行迁移前将其删除或者根据用户设置(config文件夹中application.properties配置文件)对现有文件进行覆盖。已删除或覆盖的文件无法通过Migration Tool恢复。
  • 如果在同一台服务器上并发进行迁移(由同一个或不同Migration Tool执行),不同的迁移任务必须使用不同的输出文件夹路径和日志路径。
  • 用户可以通过可选参数指定日志存储路径。如果路径未指定,Migration Tool在TOOL_HOME下自动创建log文件夹。关于日志的详细信息,请参考日志参考

迁移方法

用户可在Linux中执行migrate.sh或Windows中执行migrationtool.jar命令进行迁移,各迁移场景的命令详见表1表2

表1 Linux中迁移(执行migrate.sh)

迁移场景

命令行

  

Teradata SQL迁移

> sh migrate.sh
   --source-db Teradata 
   --application-lang SQL 
   --input-folder <input-script-path>  
   --output-folder <output-script-path>  
   [--log-folder <log-path>] 

 

  

Oracle SQL迁移

> sh migrate.sh
   --source-db Oracle 
   --application-lang SQL 
   --input-folder <input-script-path>  
   --output-folder <output-script-path>  
   [--log-folder <log-path>] 
   [--migration-type <Migration-Type-BulkOrBlogic>

  

Oracle(Beta)SQL迁移

> sh migrate.sh
   --source-db OracleBeta 
   --application-lang SQL 
   --input-folder <input-script-path>  
   --output-folder <output-script-path>
   --version-number <Gauss Kernel Version>  
   [--log-folder <log-path>]

Teradata Perl迁移

> sh migrate.sh
   --source-db Teradata 
   --application-lang Perl 
   --input-folder <input-script-path>  
   --output-folder <output-script-path>  
   [--log-folder <log-path>]
表2 Windows中迁移(执行migrationtool.jar)

迁移场景

命令行参数

Teradata SQL迁移

  

> java -jar migrationtool.jar
  --source-db Teradata
  --application-lang SQL
  --input-folder <input-script-path> 
  --output-folder <output-script-path> 
  [--log-folder <log-path>]

Oracle SQL迁移

> java -jar migrationtool.jar
  --source-db Oracle
  --application-lang SQL
  --input-folder <input-script-path> 
  --output-folder <output-script-path> 
  [--log-folder <log-path>]
  [--migration-type <Migration-Type-BulkOrBlogic>

Oracle SQL迁移(使用最新Beta版本工具)

> java -jar migrationtool.jar
  --source-db OracleBeta
  --application-lang SQL
  --input-folder <input-script-path> 
  --output-folder <output-script-path> 
  [--log-folder <log-path>]
  --version-number <Gauss Kernel Version>

Teradata Perl迁移

> java -jar migrationtool.jar
  --source-db Teradata
  --application-lang Perl
  --input-folder <input-script-path> 
  --output-folder <output-script-path> 
  [--log-folder <log-path>]
说明:
  • 命令行参数说明:
    • source-db指定源数据库,参数值为Teradata、Oracle或OracleBeta,不区分大小写。
    • migration-type指定迁移类型,为可选参数。Migration Tool支持以下迁移类型,请根据输入脚本类型进行选择:

      -Bulk:迁移DML和DDL脚本。

      -BLogic:迁移业务逻辑,如过程和函数。BLogic仅用于Oracle PL/SQL。

  • 命令回显说明:

    Migration process start time和Migration process end time分别表示迁移开始时间和结束时间。Total process time表示迁移总时长,单位为ms。此外,迁移文件总数、处理器总数、已使用处理器数量、日志文件路径以及错误日志文件路径也会显示在控制台上。

  • 关于命令行参数的详细信息,请参考Migrate命令(migrationtool.jar)

任务示例

  • Linux
    在Linux中执行以下命令将Oracle数据库中的SQL文件迁移为适用于 DWS的SQL脚本:
    sh migrate.sh  Oracle --input-folder /home/testmigration/Documentation/input --output-folder /home/testmigration/Documentation/output --log-folder /home/testmigration/Documentation --migration-type bulk

    控制台上显示迁移详情(包括进度和完成状态):

    Migration: MigrationTool version initiated by User1  
    Migration process start time : Tue Aug 08 16:08:06 GMT+08:00 2017  
    Number of available processors : 4  Configured simultaneous processes in the Tool : 3  
    33% completed  
    66% completed  
    100% completed  
    **************************************************************************  
    Total number of SQL files in input folder : 3  
    Number of queries failed : 0 
    Number of files failed : 0  
    Number of files migrated successfully : 3  
    **************************************************************************  
    Log file : migrationtool.log is placed in the path : /home/migrationtool/example/log  
    Error Log file : migrationtoolError.log is placed in the path : 
    /home/migrationtool/example/log  
    Migration process end time : Tue Aug 08 16:08:08 GMT+08:00 2017  
    Total process time : 2680 ms
  • Windows
    在Windows中执行以下命令将Oracle的SQL文件迁移为适用于 DWS的SQL脚本。
    java -jar migrationtool.jar --source-db Oracle --input-folder D:\test\migration\input --output-folder D:\test\migration\output --log-folder D:\test\migration\log --migration-type bulk

    控制台上显示迁移详情(包括进度和完成状态):

    Migration: MigrationTool version initiated by User1
    Migration process start time : Tue Aug 08 16:08:06 GMT+08:00 2017
    Number of available processors : 4
    Configured simultaneous processes in the Tool : 3
    33% completed
    66% completed
    100% completed
    **************************************************************************
    Total number of SQL files in input folder : 3
    Number of queries failed : 0
    Number of files failed : 0
    Number of files migrated successfully : 3
    **************************************************************************
    Log file : migrationtool.log is placed in the path : ..\log
    Error Log file : migrationtoolError.log is placed in the path : ..\log
    Migration process end time : Tue Aug 08 16:08:08 GMT+08:00 2017
    Total process time : 2680 ms
分享:

    相关文档

    相关产品

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

提交成功!

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

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

*必选

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

字符长度不能超过200

提交反馈 取消

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

跳转到云社区