4. 配置选项说明及参数
本章是 LightDB-ETL 对 config 目录下的 application.properties 配置文件配置选项进行详细介绍 。
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.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.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.21. etl.target.jdbc.url
配置迁移的目标数据库jdbc的url,示例如下:
etl.target.jdbc.url=jdbc:postgresql://192.20.30.218:5436/etl