cmp.is

How to Setup Oracle on OS X 10.11

0 Comments

Oracle is a fairly difficult system to setup compared to other systems, but luckily with this post you’ll see it’s just an issue with Oracle’s documentation.

We will be using Homebrew to install Oracle. In other posts I’ll explain what you need to do to set up for Oracle. This post will explain the main parts.

Install XCode and accept Apple’s EULA

If you haven’t you will need to download XCode, or just the Command Line Tools For OS X, and accept the EULA.

As a developer you’ve probably installed this already.

Run:

$ cc --version

And if you haven’t accept the EULA follow instructions for doing that. Otherwise, you will see version information which shouldn’t be important, but just in case:

$ cc --version
Apple LLVM version 7.3.0 (clang-703.0.31)
Target: x86_64-apple-darwin15.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Download required packages from Oracle

Firstly, because “Oracle” you need to download the packages manually and place them in Homebrew’s cache in /Library/caches/Homebrew.

On OS X you probably want the 64-bit versions of the parts Oracle lets you download.

There are several parts:

  • Basic
  • Basic-Lite
  • SDK
  • SQL*Plus

The only parts needed are Basic-Lite and SDK.

I personally used the 11.2 version but the 12.1 version has the same steps.

Place the files in Homebrew’s cache

Once you download instantclient-basiclite-macos.x64-11.2.0.4.0.zip and instantclient-sdk-macos.x64-11.2.0.4.0.zip place them in /Library/caches/Homebrew/.

Tap and brew

Now you need to tap the forumla which uses the packages you’ve downloaded

$ brew tap InstantClientTap/instantclient
$ brew install instantclient-basiclite
$ brew install instantclient-sdk

Add to the PATH

Finally be sure to add the libraries to the PATH by placing $(brew --prefix)/lib.

But, be sure to place it in front of the PATH.

I’m not sure why that is important, but it didn’t work for me otherwise and I’m not interested in figuring out why. If you do know, feel free to file an issue and I’ll update this post.

From here


Any issues or suggestions? Tell me on github.

0 Comments