安装 sql 装载程序 linux

Install sql loader linux

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

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

总结一下我使用 Oracle 11.2.0.3.0 的过程:

安装 Oracle 即时客户端

从 oracle 即时客户端 rpm 下载:

  • oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm
  • oracle-instantclient11.2-jdbc-11.2.0.3.0-1.x86_64.rpm
  • oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm
  • oracle-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 和消息文件 client/database

[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,...]
....

成功!

已接受答案的更简单替代方案,不需要现有的完整客户端安装即可从以下位置窃取 sqlldr 二进制文件:

您可以从名为 "Instant Client Package - Tools: Includes Data Pump, SQL*Loader and Workload Replay Client"

的单独即时客户端包中从 OTN 下载 SQL 加载程序

这是 linux 的 link:Instant Client Downloads for Linux x86-64

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

相应地调整版本。