了解DSC
当企业决定从传统数据库切换到华为云DWS数据库时,会遇到数据库迁移的挑战,特别是应用程序SQL脚本的迁移,这通常是一个复杂、高风险且耗时的过程。
如何确保应用程序SQL脚本能够高效、准确地迁移至DWS数据库,同时减少迁移过程中的风险和停机时间?DSC是一款运行在Linux或Windows操作系统上的命令行工具,致力于向客户提供简单、快速、可靠的应用程序SQL脚本迁移服务,通过内置的语法迁移逻辑解析源数据库应用程序sql脚本,并迁移为适用于DWS数据库的应用程序sql脚本。
DSC不需要连接数据库,可在离线模式下实现零停机迁移,迁移过程中还会显示迁移过程状态,并用日志记录操作过程中发生的错误,便于快速定位问题。

DSC内置语法解析器只能识别标准的SQL语法,输入脚本中如包含了其他语言的文本,则会导致语法解析异常,请在使用DSC工具前对输入脚本进行清洗。
迁移对象
DSC支持迁移的数据源如表1,支持对数据库中的表对象进行语法迁移。
迁移流程
DSC迁移sql脚本流程如下:
- 从源数据库导出待迁移的sql脚本到已安装了DSC的Linux或Windows服务器。
- 执行DSC命令进行语法迁移,命令中指定输入文件路径、输出文件路径以及日志路径。
- DSC自动将迁移后的sql脚本和日志信息归档在指定路径中。

软件要求
操作系统要求
DSC兼容的操作系统如表3所示。
服务器 | 操作系统 | 版本 |
|---|---|---|
通用x86服务器 | SUSE Linux Enterprise Server 11 | SP1(SUSE11.1) |
SP2(SUSE11.2) | ||
SP3(SUSE11.3) | ||
SP4(SUSE11.4) | ||
SUSE Linux Enterprise Server 12 | SP0(SUSE12.0) | |
SP1(SUSE12.1) | ||
SP2(SUSE12.2) | ||
SP3(SUSE12.3) | ||
RHEL | 6.4-x86_64(RedHat6.4) | |
6.5-x86_64(RedHat6.5) | ||
6.6-x86_64(RedHat6.6) | ||
6.7-x86_64(RedHat6.7) | ||
6.8-x86_64(RedHat6.8) | ||
6.9-x86_64(RedHat6.9) | ||
7.0-x86_64(RedHat7.0) | ||
7.1-x86_64(RedHat7.1) | ||
7.2-x86_64(RedHat7.2) | ||
7.3-x86_64(RedHat7.3) | ||
7.4-x86_64(RedHat7.4) | ||
CentOS | 6.4(CentOS6.4) | |
6.5(CentOS6.5) | ||
6.6(CentOS6.6) | ||
6.7(CentOS6.7) | ||
6.8(CentOS6.8) | ||
6.9(CentOS6.9) | ||
7.0(CentOS7.0) | ||
7.1(CentOS7.1) | ||
7.2(CentOS7.2) | ||
7.3(CentOS7.3) | ||
7.4(CentOS7.4) | ||
Windows | 7.0,10,11 |
其他软件要求
DSC对其他软件版本的要求如表4所示。
命令行格式约定
本手册中可能出现下列命令行格式约定,它们所代表的含义如下:
格式 | 说明 |
|---|---|
粗体 | 命令行关键字(命令中保持不变、必须照输的部分)采用加粗字体表示。 |
斜体 | 命令行参数,路径,文件或文件夹采用斜体表示。 |
[ ] | 表示用“[ ]”括起来的部分(关键词和参数)在命令配置时是可选的。 |
{ x | y | ... } | 表示用“{}”分组选项,各选项之间以“|”分隔。从两个或多个选项中选取一个。 |
[ x | y | ... ] | 表示用“[ ]”分组选项,各选项之间以“|”分隔。从两个或多个选项中选取一个或者不选。 |
{ x | y | ... }* | 表示用“{}”分组选项,各选项之间以“|”分隔。从两个或多个选项中选取多个,最少选取一个,最多选取所有选项。 |
[ x | y | ... ]* | 表示用“[ ]”分组选项,各选项之间以“|”分隔。从两个或多个选项中选取多个或者不选。 |
&<1-n> | 表示&符号前的内容可重复1到n次。 |
# | 表示注释。 |
第三方许可
本节包含适用于该工具的第三方许可。
- ANTLR v4.9.3
- Apache Commons IO 2.11
- Apache Commons CLI 1.5
- Apache Log4j 2.17.2
- JSON.org json 20220320
- postgresql 42.4.1
- sql-formatter 2.0.3

