I tried to install Oracle instant client on a redhat machine. I have instantClient basic, sdk, and sqlplus but I could not find any sqlldr. Can some one help me do it? Thanks

4

3 Answers

Following the information @Alex Poole provided in his comment, I was able to add the sqlldr binary to an Oracle instant client installation on redhat linux. The key is to have access to a full oracle client (or database) installation from which to obtain the sqlldr binary.

In summary here was the process I took with Oracle 11.2.0.3.0:

Install Oracle Instant Client

Download from oracle instant client rpms:

  • 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

Install:

yum install oracle* --nogpgcheck

Create Oracle Environment Variables

In /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 

Copy sqlldr and message file from full Oracle 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 . 

Try it:

[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 

We need to copy over the ulus.msb file from the Oracle database. But first we need to create the proper directory structure:

[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/ 

With the message file in place, try again:

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

Success!

1

Install oracle-instantclient12.2-tools, which has sqlldr; and make sure your PATH includes /usr/lib/oracle/12.2/client64/bin.

Adjust versions accordingly.

1

Simpler alternative to the accepted answer that does not require an existing full client install to steal the sqlldr binary from:

You can download SQL loader from OTN in a separate instant client package called "Instant Client Package - Tools: Includes Data Pump, SQL*Loader and Workload Replay Client"

Here is the link for linux: Instant Client Downloads for Linux x86-64

1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.