Ye Tech: Working with Oracle Internet Directory... on a Mac!
The Sweet Smell of Success!
Do you use OracleAS in your workplace? Have you ever gotten tired of trying to administer Oracle Internet Directory from within a Windows or Linux virtual machine? Ever wish you could give up the headaches of trying to boot up an environment to run OID Administrator in, and just run it right on your Mac?
In other words, does it feel like you're spending more time waiting for the system to start than you are actually performing administrative tasks?
Yeah, feels like that to me, too. Fortunately for both of us, it is possible to run the Java-powered OID Administration console from Mac OS X. Follow along with this easy 200-step process, and you'll be able to do it, too!
You're still around for the ride? Awesome! Here's how I did it:
A warning: If you have FileVault turned on, you might want to move this file to a non-encrypted area on your hard drive before expanding it.
With that caveat in mind, jump back over to OTN, because we need to download a product that ships with the missing JAR files. For these purposes, the files provided by an OracleAS 10.1.2 mid-tier installation will work, so hop over to the download page at this address and pull down CD1 of the Linux x86 version of that product.
Once downloaded, you'll probably want to jump to the commandline, because there really isn't any easier way to do this. Once you're safely ensconced in Terminal, do the following:
Did this work for you? Did you have problems with anything presented here? Do you know of a good way to package this as a native Mac icon?
Chime in down in the comments section. I definitely want to hear what you have to say!
Step 1: Download Oracle10g Client for Mac OS X.
Go here, click "Accept," and download the Oracle client software.Step 2: Unpack the client software and put it somewhere.
Just double-click on the .zip file in your Downloads folder to extract it. On my system, I created an "Oracle10g" folder under the base Applications folder. Wherever you put it, you'll move the "ohome" and "docs" folder there. When done, the full path to the client software should be something like /Applications/Oracle10g/ohome.A warning: If you have FileVault turned on, you might want to move this file to a non-encrypted area on your hard drive before expanding it.
Step 4: Get Additional JARs
OID Administrator requires some Java files which were not included in the OSX shiphome. While it's not generally a good idea to mix and match distributions, we're pretty safe in this particular case, since we're essentially dealing with pure Java code. Of course, this comes with the serious caveat that Nothing We Are Doing Here Is Supported By Oracle—But hey, their "support" of Mac OS X is spotty at best, so it's not like this is altogether uncharted territory.With that caveat in mind, jump back over to OTN, because we need to download a product that ships with the missing JAR files. For these purposes, the files provided by an OracleAS 10.1.2 mid-tier installation will work, so hop over to the download page at this address and pull down CD1 of the Linux x86 version of that product.
Once downloaded, you'll probably want to jump to the commandline, because there really isn't any easier way to do this. Once you're safely ensconced in Terminal, do the following:
$ cd $HOME/Downloads/
$ mkdir Pain
$ cd Pain
$ cpio -idmv < ../as_as_linux_x86_portal_wireless_101202_disk1.cpio
......... (a bunch of output)
$ unzip -j Disk1/stage/Components/oracle.oid.client_common/10.1.2.0.1/1/DataFiles/lib.jar
Archive: Disk1/stage/Components/oracle.oid.client_common/10.1.2.1.0/1/DataFiles/lib.jar
inflating: netutil.jar
inflating: oidldap.jar
$ unzip -j Disk1/stage/Components/oracle.oid.client_common/10.1.2.0.1/1/DataFiles/odm.jar
Archive: Disk1/stage/Components/oracle.oid.client_common/10.1.2.1.0/1/DataFiles/odm.jar
inflating: odm_help.jar
inflating: osdadmin.jar
$ unzip -j Disk1/stage/Components/oracle.bali.share/1.1.18.0.0/1/DataFiles/share.jar
Archive: Disk1/stage/Components/oracle.bali.share/1.1.18.0.0/1/DataFiles/share.jar
inflating: share.jar
$ unzip -j Disk1/stage/Components/oracle.bali.ewt/3.4.38.0.0/1/DataFiles/ewt.jar
Archive: Disk1/stage/Components/oracle.bali.ewt/3.4.38.0.0/1/DataFiles/ewt.jar
inflating: ewt3.jar
inflating: ewt3-nls.jar
$ mkdir -p /Applications/Oracle10g/ohome/ldap/java/classes
$ mv netutil.jar /Applications/Oracle10g/ohome/ldap/java/classes/
$ mv share.jar /Applications/Oracle10g/ohome/ldap/java/classes/
$ mv ewt3*jar /Applications/Oracle10g/ohome/ldap/java/classes/
$ mv oidldap.jar /Applications/Oracle10g/ohome/ldap/lib/
$ mv osdadmin.jar /Applications/Oracle10g/ohome/ldap/lib/
$ rm odm_help.jar
Step 5: Create shell script wrapper?
On my system, I created a wrapper script that I can run from the terminal (where I spend most of my time), without having to worry about setting the environment or changing my login profile. Here's how it looks:#!/bin/sh
ORACLE_HOME=/Applications/Oracle10g/ohome; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH; export PATH
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.4.2/Home; export JAVA_HOME
$ORACLE_HOME/bin/oidadmin
Step 6: Run it!
It doesn't matter whether you double-click or you type—You're guaranteed to enjoy the glorious native processing goodness that results!Did this work for you? Did you have problems with anything presented here? Do you know of a good way to package this as a native Mac icon?
Chime in down in the comments section. I definitely want to hear what you have to say!

