Linux 安装 Oracle 客户端、 sqlldr 和 sqluldr2

前阵子 hive 接口机故障导致重装了系统,原先所有的配置信息焕然一新,主机系统装好后,发现和 数据库的连接失败了,也无法通过 sqluldr sqluldr2 和 Oracle 进行文件交互了,今天的任务就是 把这个环境整好,辛苦一天也算是完成任务,作为新手,记录一下,方便以后使用;

1、安装 Oracle 客户端

首先:查询 Oracle 版本:

SELECT * FROM V$VERSION;

  

得到数据库版本后,去 Oracle 下载oracle 客户端 安装软件:

https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html

需要下载对应的 版本

上传压缩文件到自定目录:

/app/oracle;依次解压 

instantclient-basic-linux.x64-11.2.0.4.0.zip

instantclient-sqlplus-linux.x64-11.2.0.4.0.zip

instantclient-sdk-linux.x64-11.2.0.4.0.zip

解压文件会自动放在这个 instantclient_11_2 路径下;

(也可下载指定的 rpm 包进行安装)

在 /app/oracle/instantclient_11_2/network/admin 下创建 tnsnames.ora 

并编写配置信息

下面是重点:配置环境变量

如果不想将环境配置写在/etc/profile中配置内,也可以写在 .bash_profile中 

export ORACLE_HOME=~/app/oracle/instantclient_11_2
export PATH=$ORACLE_HOME:$PATH
export ORACLE_SID=oracl111
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export LD_LIBRARY_PATH=$ORACLE_HOME

ORACLE_HOME是你自己的安装地址,NLS_LANG是显示的字符编码集格式。 

 至此 客户端配置完成,执行sqlplus 时尽量给 sqlplus 赋权限;

2、安装 sqlldr sqluldr2 

 sqlldr 安装  客户端安装路径下创建 路径  rdbms\mesg

将 ulus.msb 上传至 /app/oracle/instantclient_11_2/rdbms/mesg/ 下

执行 sqluldr   验证安装成功

(ulus.msb 可以从生产 Oracle 环境下拉取)

 sqluldr2 安装;

上传 sqluldr2_linux64_10204.bin 到 客户端安装目录,重命名  sqluldr2

执行 可执行程序 发现有问题:

发现当前环境有libclntsh.so.11.1,与sqluldr2 所需包差小版本号,尝试建立软连接文件

ln -s  libclntsh.so.11.1 libclntsh.so.10.1

再次执行发现正常了;

posted @ 2020-09-25 22:49  晓枫的春天  阅读(3296)  评论(0编辑  收藏  举报