4. 配置选项说明及参数

本章是 LightDB-ETL 对 config 目录下的 application.properties 配置文件配置选项进行详细介绍 。

4.1. logging.config

表示日志配置路径

参数(值)

说明

示例

classpath:log4j2.xml

日志配置路径,勿动

classpath:log4j2.xml

4.2. etl.global.sourceDatabase

表示迁移的源数据库名称

参数(值)

说明

示例

oracle

迁移的源数据库为Oracle数据库

etl.global.sourceDatabase=oracle

4.3. etl.global.targetDatabase

表示迁移的目标数据库名称

参数(值)

说明

示例

lightdb

迁移的到Lightdb-X的数据库

etl.global.targetDatabase=lightdb

lightdb-a

迁移的到Lightdb-A的数据库

etl.global.targetDatabase=lightdb-a

4.4. etl.global.showSql

表示迁移的过程中日志是否打印SQL

参数(值)

说明

示例

true

日志打印SQL

etl.global.showSql=true

false

默认值,日志不打印SQL

etl.global.showSql=false

4.5. etl.global.fastFail

表示迁移的过程迁移出错时,是否立即终止

参数(值)

说明

示例

true

迁移出错时,程序立即终止

etl.global.fastFail=true

false

默认值,迁移出错时,程序继续运行

etl.global.fastFail=false

4.6. etl.source.onCommitPreserveRows

表示迁移全局临时表时是否保留会话级,默认false迁移全局临时表时不保留会话级。

参数(值)

说明

示例

true

保留全局临时表的会话级

etl.source.onCommitPreserveRows=true

false

不保留全局临时表的会话级

etl.source.onCommitPreserveRows=false

4.7. etl.global.removeDoubleQuote

表示迁移转化过程SQL语句中元素(表、列、视图等)上的双引号是否移除

参数(值)

说明

示例

true

默认值,迁移转化过程SQL语句中元素上的双引号移除

etl.global.removeDoubleQuote=true

false

迁移转化过程SQL语句中元素上的双引号不移除

etl.global.removeDoubleQuote=false

4.8. etl.global.plpgSql

表示存储过程的DDL语句的转换成Postgres和Oracle语法

参数(值)

说明

示例

true

表示存储过程的迁移方向是Postgres

etl.global.plpgSql=true

false

表示存储过程的迁移方向是Oracle

etl.global.plpgSql=false

4.9. etl.global.batchCount

表示数据迁移时每一批次的迁移数量,默认值200000。示例如下:

etl.global.batchCount=50000

4.10. etl.global.concurrentThreadCount

配置数据迁移的线程数,默认是32。需要参考表数据的大小、内存的大小来控制线程数,详细内存和线程关系,参考第二章的内存举例。示例如下:

etl.global.concurrentThreadCount=8

4.11. etl.global.includeTableRegexp

表示只迁移符合要求的表、表数据。其中迁移的源数据库的表名是正则表达式,默认为空。示例如下:

etl.global.includeTableRegexp=^tablename1$
迁移多个表可配置
etl.global.includeTableRegexp=(^tablename1$)|(^tablename2$)|(^tablename3$)

4.12. etl.global.excludeTableRegexp

表示不会迁移符合要求的表,默认为空。

etl.global.includeTableRegexp=^tablename1$
排除多个表可配置
etl.global.includeTableRegexp=(^tablename1$)|(^tablename2$)|(^tablename3$)

4.13. etl.global.transferSchemas

表示需要迁移的数据库模式,可以多选,用英文逗号隔开

etl.global.transferSchemas=schema1,schema2

4.14. etl.global.transferOnlyProcedures

表示仅需要迁移的数据库存储过程,可以多选,用英文逗号隔开。示例如下:

etl.global.transferOnlyProcedures=procedureName1,procedureName2

4.15. etl.global.keywords

表的列名是关键字如“by”,需要在这里添加,可以多选,用英文逗号隔开。示例如下:

etl.global.keywords=by,commit

4.16. etl.global.sqluldr2CmdPrefix

如果表的列有关键字,需要走sqluldr迁移数据。故需要配置sqluldr。

(需要安装sqluldr,可参考sqluldr安装 方法一方法二 )。

基本格式为: 路径 user_name/password@ip:port/server_name。

第一个位置是sqludr2绝对路径。

第二个位置sqluldr的语法:基本格式:user_name/password@ip:port/server_name

use=部分是数据库连接信息,如果两边数据库的字符集不一致,则按照charset=utf8格式设置字符集。

示例:

etl.global.sqluldr2CmdPrefix=/home/lightdb/zxd/sqluldr2/sqluldr2_linux64_10204.bin user=system/oracle@10.1.199.1:5432/hs

4.17. etl.global.enableFunctions

表示迁移数据库的功能,可以多选,用英文逗号隔开

参数(值)

说明

TransferTable

迁移表结构

TransferTableData

数据迁移

TableCompare

表结构对比:对比表名、列名、数据类型、精度、标度、长度

TableDataCompare

数据对比:对比表数据是否相同

TypeCountCompare

表对比:对比表名、表量、表数据行数;对比视图、索引、存储过程、函数数量

TransferType

迁移类型

TransferIndex

迁移索引

TransferSequence

迁移序列

TransferView

迁移视图

TransferTrigger

迁移触发器

TransferPackage

迁移包

TransferProcedure

迁移存储过程

TransferFunction

迁移函数

示例如下:

etl.global.enableFunctions=TransferTable,TransferSequence,TransferTableData,TransferIndex,TransferView,TransferTrigger,TransferPackage,TransferType,TransferProcedure,TransferFunction,TableCompare,TableDataCompare,TypeCountCompare

4.18. etl.source.jdbc.url

配置迁移的源数据库jdbc url,示例如下:

etl.source.jdbc.url=jdbc:oracle:thin:@111.168.251.160:1521/orcl

4.19. etl.source.jdbc.username

配置迁移的源数据库用户名.示例如下:

etl.source.jdbc.username=oracle

4.20. etl.source.jdbc.password

配置迁移的源数据库密码。示例如下:

etl.source.jdbc.password=oracle

4.21. etl.target.jdbc.url

配置迁移的目标数据库jdbc的url,示例如下:

etl.target.jdbc.url=jdbc:postgresql://192.20.30.218:5436/etl

4.22. etl.target.jdbc.username

配置迁移的目标数据库用户名,示例如下:

etl.target.jdbc.username=lightdb

4.23. etl.target.jdbc.password

配置迁移的目标数据库密码,示例如下:

etl.target.jdbc.password=lightdb