DSC配置
DSC的配置包含如下内容:
- 设置application.properties:用于配置工具的迁移行为,例如,是否要覆盖目标文件夹下的文件,是否对sql文件格式化。
- 设置Java内存分配:用户配置工具在迁移过程中可使用的内存资源,超出设置的内存,工具将显示错误消息并退出。
设置application.properties
application.properties文件中包括一系列应用配置参数,用于控制DSC在迁移数据库脚本时的行为,该文件中的参数为通用控制参数,适用于Teradata、Oracle。
设置方法如下。
- 打开config文件夹中的application.properties文件。
- 根据实际需要修改application.properties文件中参数的值。
application.properties文件中的参数解释见表1。
- 参数值不区分大小写。
- 除了列出的参数外,用户不得更改任何参数值。
- 保存后退出。
参数 |
说明 |
取值范围 |
默认值 |
样例 |
---|---|---|---|---|
|
若该参数配置发生改变,工具将无法按预期运行。 |
|
true |
formatterrequired=true |
|
若该参数配置发生改变,工具将无法按预期运行。 |
|
true |
prevalidationFlag=true |
|
若该参数配置发生改变,工具将无法按预期运行。 |
|
true |
commentSeparatorFlag=true |
|
若该参数配置发生改变,工具将无法按预期运行。 |
NA |
不适用 |
queryDelimiter=; |
|
若该参数配置发生改变,工具将无法按预期运行。 |
NA |
不适用 |
blogicDelimiter=/ |
|
工具迁移超时时间。 若该参数配置发生改变,工具将无法按预期运行。 |
- |
4 hours |
Timeout=4 |
|
合法的文件扩展名,以逗号分隔。 如果此配置项fileExtension有修改,工具将不能正常运行。
说明:
导出的脚本必须带有如下后缀,如:
等。 |
|
SQL |
fileExtension=SQL |
指定是否使用SQL Formatter对源SQL文件进行格式化。 若该参数设为true,则对输入文件的副本进行格式化并保存到{输出路径}/formattedSource文件夹。 |
|
true |
formattedSourceRequired=true |
|
|
指定要在输出/目标文件中执行的操作。 Overwrite:用于覆盖输出文件夹中的现有文件。 指定是否必须覆盖输出文件夹中的文件。 Delete:用于删除目标文件夹中的所有文件。 Cancel:用于在输出/目标文件夹中存在文件时取消操作。 |
|
overwrite |
target_files=overwrite |
|
指定输入/源文件的编码格式。 如果未设置该参数(或该参数被注释掉),则工具将基于区域设置使用默认编码。
说明:
|
|
基于区域设置的默认编码 |
encodingFormat=UTF8 |
|
指定用于迁移的线程数。 |
取决于可用的系统资源 |
3 |
NoOfThreads=3 |
|
指定输入文件大小告警阈值,单位为B(字节)、KB、MB或GB 如果指定的值无效,那么将使用默认值。 如果指定的源文件大小超过指定的值,则会向用户显示以下警告消息: ***************** [WARNING] : Migration of the following files(>100KB) will take more time: bigfile001.SQL bigfile008.SQL ***************** |
10 KB 1 GB |
10MB |
MaxFileSizeWarning=10MB |
|
允许输入文件的最大大小,如果超过这个限制,文件迁移将被跳过。 |
- |
20MB |
MaxFileSize=20MB |
|
指定待迁移的单个查询的最大长度。 如果指定的值无效,则工具会将其重置为默认值,并且控制台上将显示以下错误消息: The query length parameter (MaxSqlLen) value is out of range. Resetting to default value. 如果输入查询超过指定的最大长度,则查询迁移会预验证失败。工具会跳过该查询,并记录以下错误消息: 2018-07-06 12:05:57,598 ERROR TeradataBulkHandler:195 Error occurred during processing of input in Bulk Migration. PreQueryValidation failed due to: Invalid termination; OR exclude keyword found in query; OR query exceeds maximum length (MaxSqlLen config parameter). filename.SQL for Query in position : xx |
1 .. 52,428,800字节 (1字节 - 50 MB) |
1048576 (1 MB) |
MaxSqlLen=1048576 |
|
设置初始内存 |
不适用 |
256 MB |
initialJVMMemory=256MB 表明内存达到256MB时,进程将启动。 |
|
设置最大内存 |
不适用 |
1024 MB |
maxJVMMemory=2048m 表明内存达到2048 MB时,进程将启动。 |
- 如果为配置参数提供了错误或无效值,DSC将采用该参数的默认值。
- 如果存在扩展名不受支持(如“.doc”),建议将此扩展名添加到“application.properties”文件的“fileExtension”配置参数中。
设置Java内存分配
DSC支持通过参数控制Java虚拟机(JVM)的内存分配量,并预设默认值。
在迁移操作期间,如果内存使用超过设置的值,DSC将提示“java.lang.OutOfMemoryError: GC overhead limit exceeded”错误消息并退出,此时用户可通过更改application.properties配置文件中的initialJVMMemory和maxJVMMemory 的值,以分配更多内存。
可用系统资源决定了内存分配量。
参数 |
说明 |
推荐取值 |
---|---|---|
Xms |
指定初始内存分配量,单位为MB。 |
该参数最小值为256 MB,最大值取决于可用的系统资源。 默认值:256 |
Xmx |
指定内存分配量的上限,单位为MB。 |
该参数最小值为1024 MB,最大值取决于可用的系统资源。 默认值:1024 |