您的位置:首页 > 数据库 > Oracle

CentOS6最小化安装Oracle Client并配置sqlplus和sqlldr工具

2017-08-17 14:51 459 查看

CentOS6最小化安装Oracle Client并配置sqlplus和sqlldr工具

 

首先说说为啥要这么折腾,ETL服务器需要使用到sqlplus和sqlldr工具连接到DB Server,我又不想在ETL服务器装那个庞大的Oracle数据库。所以就这样修修补补的用了。

 

0.软件环境

Oracle Client 11.2.0.4.0 Linux x86_64

Oracle 11.2.0.3.0 Linux x86_64

 

1.下载Oracle客户端包

进入下载面:http://www.oracle.com/technetwork/topics/linuxsoft-082809.html

我的DB是安装的11.2.0.3.0,客户端是下载的最新的11.2.0.4.0,这个版本相差不大,使用上也没有什么问题

分别下载:

oracle-instantclient11.2-basic-11.2.0.4.0-1.i386.rpm和oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.i386.rpm

PS:需要申请Oracle账号才能下载

2.安装客户端包

rpm -ivh /app/rpm4centos6/oracle-instantclient11.2-basic-11.2.0.4.0-1.i386.rpm

rpm -ivh /app/rpm4centos6/oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.i386.rpm

 

3.配置环境变量

vi ~/.bash_profile



保存退出后,执行:. .bash_profile,让配置生效,. .两点之间有空格

 

4.配置TNS

这个文件Oracle对格式要求很高,空格都有讲究,建议直接从DB端拷贝过来即可

 


5.使用sqlplus命令

sqlplus yuzh/yuzh@UPDB



如果出现

sqlplus: error while loading shared libraries:libsqlplus.so: cannot open shared object file: No such file or directory

在/etc/ld.so.conf中最后加入/usr/lib/oracle/11.2/client/lib

如果出现类似如下格式的错误



就在https://centos.pkgs.org/找到系统对应版本的包安装上即可,也可以用yum,但是CentOS下yum会出现下载不了包的情况

 

6.配置sqlldr命令

Linux下OracleClient是不带有sqlldr功能的,连相应的sqlldr程序都没有,所有需要在DB将sqlldr模块的程序拷贝到OracleClient目录下才可以。

具体步骤如下:

 

6.1.拷贝sqlldr程序

在Oracle DB上搜索sqlldr和ulus.msb



将sqlldr拷贝到Oracle Client 的$ORACLE_HOME/bin 目录

将ulus.msb拷贝到Oracle Client 的$ORACLE_HOME/rdbms/mesg 目录



在上面的环境变量里,已经配置了

exportLD_LIBRARY_PATH=/usr/lib64:/usr/lib/oracle/11.2/client/lib:/usr/lib/oracle/11.2/client/lib32

 

6.2.执行sqlldr命令



出现如下格式的的错误时,



就用ldd `which sqlldr`检测sqlldr的依赖,也可以用同样的方式检测sqlplus的依赖



检测是缺少libclntsh.so.11.1和libnnz11.so,将Oracle DB上的这两个文件拷贝到Oracle Client 的$ORACLE_HOME/lib32 目录,并将该目录配置到 LD_LIBRARY_PATH环境变量中,再执行sqlldr就可以使用了。也可以到这个链接下载这两个文件:http://download.csdn.net/download/marchcuckoo/9938204



 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle centos sqlldr