2. 快速开始

本章包含下载、配置、运行 三个步骤,用户可遵循本章的步骤快速开始使用 LightDB-ETL

另外,本章节总结了基本的使用,特殊的一些需求如如果只迁移单个表、如果迁移单个schema、如何在迁移时排除指定的表可参考第三章。

2.1. 环境准备

2.1.1. Java 1.8

需要 Java 1.8 及以上版本, 下载地址

2.1.2. 内存

具体所需内存根据迁移开启的线程数量(concurrentThreadCount)、每次迁移数据的行数(batchCount)、表每行的数据大小(由列的数量、数据类型等确定)。 以下是一个实际的内存占用情况,可供计算迁移所需内存大小:

前提:每个表500M,每次读取20万行数据,每行数据0.1kb。

线程数

内存

1

600M

2

1.2g

2.1.3. LightDB-ETL

下载迁移工具 LightDB-ETL

2.1.4. sqluldr2

第一步下载sqluldr2 。

第二步:需要在安装oracle的服务器上安装sqluldr2。服务器安装oracle可参考 oracle安装

第三步:根据服务器选择正确的sqluldr2版本,将其复制粘贴到oracle的bin目录下。

第四步:执行命令:chmod +x 命令为sqluldr2程序赋予可执行权限

第五步: 配置oracle的环境变量,让 sqluldr2 程序默认可以找到其所依赖的 oracle 客户端动态库。

示例如下:

服务器Linux:centos7,64位;Oracle:11g
1、下载安装包,将sqluldr2_linux64_10204.bin 程序上传到迁移服务器4的oracle的bin目录;
2、执行命令:chmod +x sqluldr2_linux64_10204.bin 为此程序赋予可执行权限
3、配置环境变量
 export EDITOR=vi
 export GGATE=/home/oracle/otc
 export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
 export ORACLE_BASE=/oracle/app
 export ORACLE_HOME=/oracle/app/product/19.3.0/db_1
 export ORACLE_SID=test
 export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GGATE:$PATH
 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:$GGATE:$LD_LIBRARY_PATH
 export LD_LIBRARY_PATH=/u001/app/oracle/product/11.2.0/db_1/lib:$LD_LIBRARY_PATH
4、验证是否成功:  ./sqluldr2_linux64_10204.bin  --help

2.2. 修改配置

修改 config 目录下的application.properties 配置文件,配置源端数据库、目标端数据库、迁移选项、日志选项。详细配置参数的含义参考第四章配置参数的说明。

2.2.1. 修改迁移的数据库类型

etl.global.sourceDatabase=oracle
etl.global.targetDatabase=lightdb

2.2.2. 修改源库Oracle连接

etl.source.jdbc.url=数据库连接地址
etl.source.jdbc.username=数据库用户名
etl.source.jdbc.password=数据库密码

2.2.3. 修改目标库LightDB连接

etl.target.jdbc.url=数据库连接地址
etl.target.jdbc.username=数据库用户名
etl.target.jdbc.password=数据库密码

2.2.4. 修改sqluldr2配置

该选项是如果列名有关键字如by,需要配置etl.global.keywords,etl.global.sqluldr2CmdPrefix。没有则可忽略此项

etl.global.keywords=by
etl.global.sqluldr2CmdPrefix=/home/lightdb/cf/sqluldr2/sqluldr2_linux64_10204.bin user=test/oracle@10.1.199.1:5432/hs

2.2.5. 修改迁移功能和迁移的模式

详细参数说明参考第四章配置选项说明参数。特别注意,如果数据库存在依赖关系,需要分多次步骤迁移,如存储过程依赖函数,则需要先迁移函数,在迁移存储过程。

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

2.3. 运行

执行 java -jar <jar包名> 命令运行迁移程序。如jar包名是lightdb-etl.jar,则执行java -jar lightdb-etl.jar

2.4. 校验查看

在logs/lightdb-etl/lightdb-etl.log文件里面搜索不一致。如果有不一致信息,表明迁移出错。详细例子,可看第五章。迁移出错问题分析可查看 lightdb-etl oracle迁移到lightdb的常见问题和解决方法