0

I would like to know if I can download Oracle Database on my Mac OS X and use it for learning purposes?

I know that Oracle Database Express Edition 11g is free, but is it free for OS X?

1

You can get Oracle 11 to run natively on OS X, but there is a bit of work required, and not as quick to set up as a pre-installed environment. However, this is a tried and tested method, so it will work, and it will run quicker and more responsively than if you opt for a virtual machine solution.


Taken verbatim from Olivier Refalo's answer to Installing Oracle 11g on OSX (I've not added blockquote formatting as it would mess up the original formatting):


Yes! The fact that Oracle doesn't provide a OSX installer doesn't mean these product shouldn't work natively. Most of them are actually 100% Java.

Please follow the instructions below to install you development environment.

Instructions are for 11g 11.1.1.4.0 but were also tested with 11.1.1.5.0. The trick is to run the installer via a Linux VM and migrate the files to OSX.

Linux VM Installation

It doesn't really matter if you get a 32 or 64 bits Linux distribution. However, the installation folder should be the same on Linux and MacOS.

  1. Download VirtualBox and create a Virtual Machine for Linux. Since we are dealing with Oracle products, rather user their linux distribution: look for this file on google OracleLinux-R5-U7-Server-i386-dvd.iso
  2. With the VM installed, up and running, boot into Linux.
  3. Install JDK 1.6 for Linux 32 bits

Download the following software, oracle offers native installers for windows and Linux. However you should stick to generic downloads as much as possible. Some of these packages come in several zips, extract files according to oracle directions.

  • Weblogic & coherence: wls1034_generic.jar
  • OEPE: oepe-helios-all-in-one-11.1.1.6.1.201010012100-win32-x86_64.zip
  • jDeveloper: jdevstudio11114install.jar
  • OSB: ofm_osb_generic_11.1.1.4.0
  • SOA: soa_generic_11.1.1.4.0

Install the software in the following order

  1. Weblogic & Coherence: run with java -Xmx1024m -jar -Dos.name=unix wls1034_generic.jar
  2. OEPE extract act in a folder called /oepe
  3. OSB Disk1/runInstaller - Make sure OSB IDE extensions are being installed (in OEPE)
  4. SOA Disk1/runInstaller
  5. jDeveloper

OSX Installation

Middleware

Here comes the trick, copy the oOracle Middleware folder from your Linux VM to OSX. Make sure the location is the same. For instance if you installed under /Oracle/Middleware on Linux, you should copy to /Oracle/Middleware on OSX.

Fix JVM

For some obscure reasons, Oracle installers don't recognize the Apple JVM. While not mandatory, it is good practices to fix the issue with the following script.

 $ sudo mkdir -p /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/jre/lib
 $ cd /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/jre/lib
 $ sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/classes/classes.jar rt.jar

OEPE

  1. Download the following software (64bits please!) oepe-helios-all-in-one-11.1.1.6.2.201111102323-macosx-cocoa-x86_64.zip
  2. Extract the file into /oepemac
  3. Right click on Eclipse.app
  4. On the opened menu, choose “Show Package Contents”
  5. Edit file “/Contents/MacOS/eclipse.ini”, append the following lines

    -Dweblogic.home=/Oracle/Middleware/wlserver_10.3
    -Dharvester.home=/Oracle/Middleware/Oracle_OSB1/harvester
    -Dosb.home=/Oracle/Middleware/Oracle_OSB1
    -Dosgi.bundlefile.limit=750
    -Dosgi.nl=en_US

  6. Now copy the file oracle.osb.ide.link from the folder “oepe/dropins” to “oepemac/dropins” (both under your middleware home).

Oracle XE

Oracle_XE is unfortunately not supported on OSX. we will need to run it via a VirtualBox appliance. The good news is that Oracle provides a easy to install RPM.

  1. Download oracle-xe-10.2.0.1-1.0.i386.rpm
  2. Under Linux, as root, run 'rpm -i oracle-xe-10.2.0.1-1.0.i386.rpm'
  3. Next step is to download and run Oracle RCU to prepare the data model, please refer to the next section for directions.

For reference, we allocated 1cpu, 600MB of ram to our Linux/OracleXE VM.

Next Steps

Configure your web logic development domain. Please refer to this document for instructions. Quick Start Guide for Oracle® SOA Suite 11gR1 (11.1.1.5.0).pdf

Fix startup scripts

Finally, you will need to fix domain startup script as follows

------------- user_projects/domains/DEVdomain/bin/setDomainEnv.sh -------------

index f74490c..8d75c6c 100755
@@ -108,7 +108,7 @@ else
    else
        JAVA_VENDOR="Unknown"
        export JAVA_VENDOR
-       JAVA_HOME="/usr/java/jdk1.6.0_21"
+       JAVA_HOME=`/usr/libexec/java_home`
        export JAVA_HOME
    fi
 fi

------------ user_projects/domains/DEVdomain/bin/setSOADomainEnv.sh ------------

index 8c6743b..b92cfa4 100755
    @@ -144,6 +144,15 @@ case ${PLATFORM_TYPE} in
         fi
         export USER_MEM_ARGS
         ;;
    +#-----------------------------------------------------
    +# OSX
    +#-----------------------------------------------------
    +Darwin)
    +
    +  USER_MEM_ARGS="${PORT_MEM_ARGS}"
    +  export USER_MEM_ARGS
    +
    +  ;;

       #-----------------------------------------------------
       # Sun OS
0

Honestly, if your looking for a nimble solution for OracleXe your best option would be to run a pre-built docker container that already has oracle XE configured.

You can go about this two different ways.

  1. Run VirtualBox with a Ubuntu image on your Mac. Install docker within that ubuntu image. Once docker is installed you can do a simple "docker pull alexeiled/docker-oracle-xe-11g" then "docker run -d -p 49160:22 -p 49161:1521 -p 49162:8080 alexeiled/docker-oracle-xe-11g" to fire up OracleXe. Once you have this running within that VM you can easily connect using a SQL client like SQLDeveloper. Docker hub address for the OracleXe image (https://hub.docker.com/r/alexeiled/docker-oracle-xe-11g/).

  2. Install docker on your Mac using the Docker Toolbox. Link to the docker install page for Mac (https://docs.docker.com/mac/step_one/). Once installed you can run the same docker commands in statement one.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.