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的常见问题和解决方法