Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

installing Oracle Instantclient on Mac OS/X without setting environment variables?

Oracle's instructions specify setting DYLD_LIBRARY_PATH. This makes my application dependent on random users' configuration and is very troublesome to set up.

How can I avoid having to set any environment variables?

http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/intel_macsoft.html

related note for linux: installing Oracle Instantclient on Linux without setting environment variables?

like image 574
Mark Harrison Avatar asked Mar 26 '09 02:03

Mark Harrison


People also ask

How do I run SQLplus on Mac?

Installing SQLplus on MacOSStep 1: Download the latest source package of SQLplus for python3 from here. Step 2: Extract the downloaded sqlplus package using the following command. Step 3: Go to the sqlplus-2.6. 5 folder and enter the following command to install the package.


2 Answers

Oracle's instantclient installation instructions specify that the user set DYLD_LIBRARY_PATH. This is very troublesome to manage for multiple users.

To use the instantclient without setting any environment variables:

Download the instantclient distribution from oracle.com. For doing non-java software development, you will need (assuming Oracle 10.2):

instantclient-basic-macosx-10.2.0.4.0.zip
instantclient-sdk-macosx-10.2.0.4.0.zip
instantclient-sqlplus-macosx-10.2.0.4.0.zip

Unzip the three files. This will give you a directory

instantclient_10_2/

Copy the files to /usr, which is one of the default places the dynamic loader searches.

sudo cp instantclient_10_2/sdk/include/*.h /usr/include
sudo cp instantclient_10_2/sqlplus         /usr/bin
sudo cp instantclient_10_2/*.dylib         /usr/lib

If you use tnsnames.ora, copy it to /etc, which is the default global place the oracle runtime searches.

sudo cp tnsnames.ora /etc

Test with

/usr/bin/sqlplus scott/tiger@myoracle
like image 181
Mark Harrison Avatar answered Nov 03 '22 02:11

Mark Harrison


If your goal is simply to run sqlplus on your MacBook, this might work for you. Remove the DYLD_LIBRARY_PATH environment variable from ~/.bashrc and replace it with an alias:

alias sqlplus="DYLD_LIBRARY_PATH=/Applications/instantclient_11_2 sqlplus"

Blog entry: sqlplus and DYLD_LIBRARY_PATH on Mac OS/X

like image 38
Jeff Taylor Avatar answered Nov 03 '22 01:11

Jeff Taylor