了解DSC
当企业决定从传统数据库切换到华为云DWS数据库时,会遇到数据库迁移的挑战,特别是应用程序SQL脚本的迁移,这通常是一个复杂、高风险且耗时的过程。
如何确保应用程序SQL脚本能够高效、准确地迁移至DWS数据库,同时减少迁移过程中的风险和停机时间?DSC是一款运行在Linux或Windows操作系统上的命令行工具,致力于向客户提供简单、快速、可靠的应用程序SQL脚本迁移服务,通过内置的语法迁移逻辑解析源数据库应用程序sql脚本,并迁移为适用于DWS数据库的应用程序sql脚本。
DSC不需要连接数据库,可在离线模式下实现零停机迁移,迁移过程中还会显示迁移过程状态,并用日志记录操作过程中发生的错误,便于快速定位问题。
DSC内置语法解析器只能识别标准的SQL语法,输入脚本中如包含了其他语言的文本,则会导致语法解析异常,请在使用DSC工具前对输入脚本进行清洗。
迁移对象
DSC支持迁移的数据源如表1,具体支持迁移的数据库对象有:
- DDL语句:模式、表、视图、存储过程、自定义函数
- DML语句:select、update、delete、insert、truncate
迁移流程
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