安装sql loader linux

时间:2015-08-26 15:45:15

标签: oracle oracle11g sql-loader

我尝试在redhat机器上安装Oracle即时客户端。我有instantClient基本,sdk和sqlplus但我找不到任何sqlldr。有人可以帮我做吗? 感谢

3 个答案:

答案 0 :(得分:15)

根据@Alex Poole在评论中提供的信息,我能够将sqlldr二进制文件添加到redhat linux上的Oracle即时客户端安装中。关键是要访问完整的oracle客户端(或数据库)安装,从中获取sqlldr二进制文件。

总结这里是我使用Oracle 11.2.0.3.0的过程:

安装Oracle Instant Client

从oracle instant client下载rpms:

  • 甲骨文instantclient11.2碱性-11.2.0.3.0-1.x86_64.rpm
  • 甲骨文instantclient11.2-JDBC-11.2.0.3.0-1.x86_64.rpm
  • 甲骨文instantclient11.2-devel的-11.2.0.3.0-1.x86_64.rpm
  • 甲骨文instantclient11.2-SQLPLUS-11.2.0.3.0-1.x86_64.rpm

安装:

yum install oracle* --nogpgcheck

创建Oracle环境变量

/etc/profile.d/oracle.sh

export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin

从完整的Oracle客户端/数据库

复制sqlldr和消息文件
[root@redhat bin]# pwd
/usr/lib/oracle/11.2/client64/bin
[root@redhat bin]# scp root@oracleServer:/OracleHome/db/product/11gR2/bin/sqlldr .

试一试:

[root@redhat bin]# sqlldr
Message 2100 not found; No message file for product=RDBMS, facility=ULMessage 2100 not found; No message file for product=RDBMS, facility=UL

我们需要从Oracle数据库中复制ulus.msb文件。但首先我们需要创建正确的目录结构:

[root@redhat client64]# pwd
/usr/lib/oracle/11.2/client64
[root@redhat client64]# mkdir -p rdbms/mesg
[root@redhat client64]# scp root@oracleServer:/OracleHome/db/product/11gR2/rdbms/mesg/ulus.msb rdbms/mesg/

在消息文件到位后,再试一次:

[root@redhat client64]# sqlldr

SQL*Loader: Release 11.2.0.3.0 - Production on Tue Oct 20 10:12:55 2015

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

Usage: SQLLDR keyword=value [,keyword=value,...]
....

成功!

答案 1 :(得分:1)

更简单的替代接受的答案,不需要现有的完整客户端安装来窃取sqlldr二进制文件:

您可以在名为“Instant Client Package - 工具:包括数据泵, SQL * Loader 和Workload Replay Client”的单独即时客户端软件包中从OTN下载SQL加载程序

以下是linux的链接:Instant Client Downloads for Linux x86-64

答案 2 :(得分:0)

安装oracle-instantclient12.2-tools,其中有sqlldr;并确保您的PATH包含/usr/lib/oracle/12.2/client64/bin

相应地调整版本。