Skip to content

Instantly share code, notes, and snippets.

@endryha
Forked from jimzucker/README.md
Last active October 5, 2018 11:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save endryha/ebaed6deef6027dec8928b45570844fd to your computer and use it in GitHub Desktop.
Save endryha/ebaed6deef6027dec8928b45570844fd to your computer and use it in GitHub Desktop.
Install Oracle instant client (sqlplus) v12.1 on MacOSX

Install Oracle instant client (sqlplus) on MacOSX

  1. Get Oracle instant client for MacOSX
  1. Unarchive downloaded zip files into a same directory
  • ex: $HOME/Downloads/instantclient_12_1
  1. Create install.sh and copy the following code and past it on that file.
  2. Run source /usr/local/share/instantclient/instantclient.sh
  3. Run sqlplus to check if you can run "sqlplus" in any place
  4. Add source /usr/local/share/instantclient/instantclient.sh to your .bashrc
#!/bin/bash
set -e
export ORACLE_VERSION="12.1.0.2.0"
mkdir -p /usr/local/Oracle/product/instantclient/$ORACLE_VERSION/bin
mkdir -p /usr/local/Oracle/product/instantclient/$ORACLE_VERSION/lib
mkdir -p /usr/local/Oracle/product/instantclient/$ORACLE_VERSION/jdbc/lib
mkdir -p /usr/local/Oracle/product/instantclient/$ORACLE_VERSION/rdbms/jlib
mkdir -p /usr/local/Oracle/product/instantclient/$ORACLE_VERSION/sqlplus/admin
#ensure we have all of the files we need
if [ ! -f sqlplus ]
then
echo "instantclient-sqlplus not downloaded, exiting...."
exit 1
fi
if [ ! -d sdk ]
then
echo "ERROR: instantclient-sdk not downloaded, exiting...."
exit 1
fi
mv ojdbc* /usr/local/Oracle/product/instantclient/$ORACLE_VERSION/jdbc/lib/
if [ $? -ne 0 ]
then
echo "ERROR: cannot find ojdbc drivers, instantclient-basic not installed, exiting"
exit 1
fi
mv sdk /usr/local/Oracle/product/instantclient/$ORACLE_VERSION/lib/
mv x*.jar /usr/local/Oracle/product/instantclient/$ORACLE_VERSION/rdbms/jlib/
mv glogin.sql /usr/local/Oracle/product/instantclient/$ORACLE_VERSION/sqlplus/admin/
mv *dylib* /usr/local/Oracle/product/instantclient/$ORACLE_VERSION/lib/
mv *README /usr/local/Oracle/product/instantclient/$ORACLE_VERSION/
mv * /usr/local/Oracle/product/instantclient/$ORACLE_VERSION/bin/
cd /usr/local/bin
ln -sf ../Oracle/product/instantclient/$ORACLE_VERSION/bin/sqlplus sqlplus
cd /usr/local/Oracle/product/instantclient/$ORACLE_VERSION
mkdir -p share/instantclient
cd /usr/local/share
ln -sf ../Oracle/product/instantclient/$ORACLE_VERSION/share/instantclient/ instantclient
cd /usr/local/Oracle/product/instantclient/$ORACLE_VERSION/lib
ln -sf libclntsh.dylib.12.1 libclntsh.dylib
echo "
export ORACLE_VERSION=$ORACLE_VERSION
export ORACLE_BASE=/usr/local/Oracle
export ORACLE_HOME=\$ORACLE_BASE/product/instantclient/$ORACLE_VERSION
export DYLD_LIBRARY_PATH=\$ORACLE_HOME/lib
export OCI_DIR=\$DYLD_LIBRARY_PATH
export TNS_ADMIN=\$ORACLE_BASE/admin/network
" > /usr/local/share/instantclient/instantclient.sh
echo "Done!"
echo
echo "Next step: Add the following code to your ~/.bashrc"
echo "source /usr/local/share/instantclient/instantclient.sh"
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment