注意事项
- 启动迁移程序前,必须指定输出文件夹路径。输入文件夹路径、输出文件夹路径以及日志路径以空格隔开。输入文件夹路径不能包含空格。路径空格会导致DSC执行错误。详情请参见故障处理。
- 如果输出文件夹中包含子文件夹或文件,DSC会在执行迁移前将其删除或者根据用户设置(config文件夹中application.properties配置文件)将其覆盖。已删除或覆盖的子文件夹或文件无法通过DSC恢复。
- 如果在同一台服务器上并发进行迁移(由同一个或不同DSC执行),不同的迁移任务必须使用不同的输出文件夹路径和日志路径。
- 用户可以通过可选参数指定日志存储路径。如果路径未指定,DSC在TOOL_HOME下自动创建log文件夹。详情请参见日志参考。
- 单条SQL大小约束为20KB,超过此大小可能会导致执行过慢,从而转换失败。
迁移方法
用户可在Windows和Linux操作系统中执行runDSC.sh或runDSC.bat命令进行迁移,各迁移场景的命令详见表1。
表1 Windows和Linux场景迁移
迁移场景 |
命令行参数 |
Teradata SQL迁移
|
|
> ./runDSC.sh
--source-db Teradata
[--application-lang SQL]
[ --input-folder <input-script-path> ]
[--output-folder <output-script-path> ]
[--log-folder <log-path>]
[--target-db/-T][Optional]
|
|
> runDSC.bat
--source-db Teradata
[--application-lang SQL]
[ --input-folder <input-script-path> ]
[--output-folder <output-script-path> ]
[--log-folder <log-path>]
[--target-db/-T][Optional]
|
|
Teradata Perl迁移
|
|
> ./runDSC.sh
--source-db Teradata
[--application-lang Perl]
[--input-folder <input-script-path> ]
[--output-folder <output-script-path> ]
[--log-folder <log-path>]
[--target-db/-T][Optional]
|
|
> runDSC.bat
--source-db Teradata
[--application-lang Perl]
[--input-folder <input-script-path> ]
[--output-folder <output-script-path> ]
[--log-folder <log-path>]
[--target-db/-T][Optional]
|
|
MySQL SQL迁移
|
|
> ./runDSC.sh
--source-db MySql
[--application-lang SQL]
[--input-folder <input-script-path>]
[--output-folder <output-script-path>]
[--log-folder <log-path>]
[--conversion-type <conversion-Type-BulkOrBlogic>]
[--target-db/-T]
|
|
> runDSC.bat
--source-db MySql
[--application-lang SQL]
[--input-folder <input-script-path>]
[--output-folder <output-script-path>]
[--log-folder <log-path>]
[--conversion-type <conversion-Type-BulkOrBlogic>]
[--target-db/-T]
|
|
任务示例
- 示例:将Teradata数据库的SQL文件迁移到适用于Linux系统下的GaussDB(DWS)的SQL脚本中。
|
./runDSC.sh --source-db Teradata --input-folder D:\test\conversion\input --output-folder D:\test\conversion\output --log-folder D:\test\conversion\log --conversion-type ddl --targetdb gaussdb
|
- 示例:执行以下命令,将Teradata数据库的SQL文件迁移到适用于Windows操作系统下的GaussDB(DWS)的SQL脚本中。
|
runDSC.bat --source-db Teradata --input-folder D:\test\conversion\input --output-folder D:\test\conversion\output --log-folder D:\test\conversion\log --conversion-type ddl --targetdb gaussdb
|
控制台上显示迁移详情(包括进度和完成状态):
********************** Schema Conversion Started *************************
DSC process start time : Mon Jan 20 17:24:49 IST 2020
Statement count progress 100% completed [FILE(1/1)]
Schema Conversion Progress 100% completed
**************************************************************************
Total number of files in input folder : 1
Total number of valid files in input folder : 1
**************************************************************************
Log file path :....../DSC/DSC/log/dsc.log
Error Log file :
DSC process end time : Mon Jan 20 17:24:49 IST 2020
DSC total process time : 0 seconds
********************* Schema Conversion Completed ************************