更新时间:2022-12-08 GMT+08:00

DSC配置

DSC的配置包含如下内容:

  • 设置application.properties:用于配置工具的迁移行为,例如,是否要覆盖目标文件夹下的文件,是否对sql文件格式化。
  • 设置Java内存分配:用户配置工具在迁移过程中可使用的内存资源,超出设置的内存,工具将显示错误消息并退出。

设置application.properties

application.properties文件中包括一系列应用配置参数,用于控制DSC在迁移数据库脚本时的行为,该文件中的参数为通用控制参数,适用于Teradata、Oracle。

设置方法如下。

  1. 打开config文件夹中的application.properties文件。
  2. 根据实际需要修改application.properties文件中参数的值。

    application.properties文件中的参数解释见表1
    • 参数值不区分大小写。
    • 除了列出的参数外,用户不得更改任何参数值。

  3. 保存后退出。
表1 application.properties文件的配置参数

参数

说明

取值范围

默认值

样例

  • formatterrequired

若该参数配置发生改变,工具将无法按预期运行。

  • true
  • false

true

formatterrequired=true

  • prevalidationFlag

若该参数配置发生改变,工具将无法按预期运行。

  • true
  • false

true

prevalidationFlag=true

  • commentSeparatorFlag

若该参数配置发生改变,工具将无法按预期运行。

  • true
  • false

true

commentSeparatorFlag=true

  • queryDelimiter

若该参数配置发生改变,工具将无法按预期运行。

NA

不适用

queryDelimiter=;

  • blogicDelimiter

若该参数配置发生改变,工具将无法按预期运行。

NA

不适用

blogicDelimiter=/

  • Timeout

工具迁移超时时间。

若该参数配置发生改变,工具将无法按预期运行。

-

4 hours

Timeout=4

  • fileExtension

合法的文件扩展名,以逗号分隔。

如果此配置项fileExtension有修改,工具将不能正常运行。

说明:

导出的脚本必须带有如下后缀,如:

  • .sql
  • .txt
  • .fnc
  • .proc
  • .tbl
  • .tbs
  • .pl

等。

  • csv
  • txt
  • SQL

SQL

fileExtension=SQL

  • formattedSourceRequired

指定是否使用SQL Formatter对源SQL文件进行格式化。

若该参数设为true,则对输入文件的副本进行格式化并保存到{输出路径}/formattedSource文件夹。

  • true
  • false

true

formattedSourceRequired=true

  • target_files

指定要在输出/目标文件中执行的操作。

Overwrite:用于覆盖输出文件夹中的现有文件。

指定是否必须覆盖输出文件夹中的文件。

Delete:用于删除目标文件夹中的所有文件。

Cancel:用于在输出/目标文件夹中存在文件时取消操作。

  • overwrite
  • delete
  • cancel

overwrite

target_files=overwrite

  • encodingFormat

指定输入/源文件的编码格式。

如果未设置该参数(或该参数被注释掉),则工具将基于区域设置使用默认编码。

说明:
  • 文件编码的自动检测功能并不准确。为确保正确的编码格式,请使用本参数指定格式。
  • UTF8
  • UTF16
  • UTF32
  • GB2312
  • ASCII等

基于区域设置的默认编码

encodingFormat=UTF8

  • NoOfThreads

指定用于迁移的线程数。

取决于可用的系统资源

3

NoOfThreads=3

  • MaxFileSizeWarning

指定输入文件大小告警阈值,单位为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

  • MaxFileSize

允许输入文件的最大大小,如果超过这个限制,文件迁移将被跳过。

-

20MB

MaxFileSize=20MB

  • MaxSqlLen

指定待迁移的单个查询的最大长度。

如果指定的值无效,则工具会将其重置为默认值,并且控制台上将显示以下错误消息:

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

  • initialJVMMemory

设置初始内存

不适用

256 MB

initialJVMMemory=256MB

表明内存达到256MB时,进程将启动。

  • maxJVMMemory

设置最大内存

不适用

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 的值,以分配更多内存。

可用系统资源决定了内存分配量。

表2 JVM内存分配的控制参数

参数

说明

推荐取值

Xms

指定初始内存分配量,单位为MB。

该参数最小值为256 MB,最大值取决于可用的系统资源。

默认值:256

Xmx

指定内存分配量的上限,单位为MB。

该参数最小值为1024 MB,最大值取决于可用的系统资源。

默认值:1024