前面多篇文章我们介绍了Trafodion的odb工具,包括如何配置Trafodion的ODBC驱动,如何使用odb数据进行数据的加载、抽取、转换。odb可以在不同的关系型数据库之间进行数据传输而不用数据落地。由于odb是基于ODBC,使用odb从关系型数据库A迁移数据到关系型数据库B之前,需要提前配置好A和B的ODBC连接。本文我们主要描述如何配置Oracle的ODBC并使用odb测试是否可以正常连接Oracle数据库并在后续可以实现迁移到Trafodion数据库。主要步骤如下,
1 下载并安装unixODBC
//yum下载安装包
yum install unixODBC -y
//rpm检查安装包是否存在
rpm -qa | grep unixODBC
2 下载并安装Oracle ODBC驱动
//下载地址:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
//安装ODBC驱动包
rpm -ivh oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm \
oracle-instantclient12.1-odbc-12.1.0.2.0-1.x86_64.rpm
3 配置tnsnames.ora
//创建/etc/oracle目录
mkdir /etc/oracle
//在上述目录下添加tnsnames.ora文件,内容如下
testoracle =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.14.16)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orclpdb.esgyn.com)
)
)
4 添加环境变量
//将以下命令添加到/etc/profile
export TNS_ADMIN=/etc/oracle
export ORACLE_HOME=/usr/lib/oracle/12.1/client64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export ORCLE_SID=testoracle
//source环境变量
source /etc/profile
//如果使用trafodion用户执行odb命令需要将上述环境变量添加到trafodion用户的.bashrc
5 配置Oracle ODBC配置文件
//配置/etc/odbcinst.ini添加以下行
[Oracle]
Description = Oracle ODBC driver for Oracle 12g
Driver = /usr/lib/oracle/12.1/client64/lib/libsqora.so.12.1
Setup =
FileUsage =
CPTimeout =
CPReuse =
//配置/etc/odbc.ini添加以下行
[oracle]
Driver = Oracle
Server = 10.10.14.16
Port = 1521
ServerName = testoracle
6 使用odb工具测试连通Oracle
odb64luo -d oracle -u test -p test -i
//以下输出说明能正常连接Oracle数据库
odb [2018-03-28 14:51:49]: starting ODBC connection(s)... 0
[odb version 1.1.0]
Build: linux, amd64, gcc generic m64, uodbc, mreadline, dynamic gzip, dynamic libhdfs, dynamic libxml2 [Nov 16 2017 21:28:09]
DBMS product name (SQL_DBMS_NAME) : Oracle
DBMS product version (SQL_DBMS_VER) : 12.02.0010
Database name (SQL_DATABASE_NAME) :
Server name (SQL_SERVER_NAME) : testoracle
Data source name (SQL_DATA_SOURCE_NAME) : oracle
Data source RO (SQL_DATA_SOURCE_READ_ONLY) : N
ODBC Driver name (SQL_DRIVER_NAME) : SQORA32.DLL
ODBC Driver version (SQL_DRIVER_VER) : 12.01.0020
ODBC Driver level (SQL_DRIVER_ODBC_VER) : 03.52
ODBC Driver Manager version (SQL_DM_VER) : 03.52.0002.0002
ODBC Driver Manager level (SQL_ODBC_VER) : 03.52
odb [2018-03-28 14:51:50]: exiting. Session Elapsed time 0.312 seconds (00:00:00.312)
至此,配置Oracle ODBC驱动并使用odb工具已经正常连接,在后面的文章中,我们会补充其他流行关系型数据库包括MySQL、PostgreSQL的配置并使用odb连接,敬请期待~