OpenDS hints page

I recently stumbled upon the java-based free LDAP server, OpenDS. It can be highly scalable... but is also convenient for "quickie" installs.
Its initial install documentation could be better... however, its initial setup process is pretty awesome.
( First, log in as desired run-time user, and know where you want to install)
( Then, using at least jdk version 1.6.0...)
$ /usr/jdk/latest/bin/javaws (latest-QuickSetup.jnlp)

# If you dont have javaws, or X11, on the server, then just download
# the zip file from the opends website, extract, and run
# (TOP)/setup. You will get prompted with the same questions in text mode.
Follow the promps on where to install, what your admin user/pw should be, and your base DN... and you're all set!

Plus, it comes with a pretty decent(yet simple) admin GUI.

Oracle Internet Server

I originally came across this, looking for a quick drop-in-and-go stand-in, to serve as an Oracle database name server. Turns out, it's fairly easy. First, install the above.
Then, drop in this oracle.schema.ldif file, in OpenDS format, into (OpenDS-TOP)/config/schema/98-oracle-openDS.ldif
You might be able to "import" it through the GUI instead if you prefer. I actually created the schema step-by-step through the GUI itself, but provide the ldif here to save you time

What the ldif does, is define some orcl attribute types, and then two new object classes that use those attributes:
"orclContext", and "orclService".

Next, create a top-level instance of an "orclContext" object, to hold your database information. In LDIF format, that looks like the following:

dn: cn=OracleContext,dc=oracledb,dc=yourorg,dc=com
objectClass: orclContext
cn: OracleContext
Lastly, create an actual database instance reference, of type "orclService":
dn: cn=ORASID,cn=OracleContext,dc=oracledb,dc=yourorg,dc=com
objectClass: orclService
cn: ORASID
orclNetDescString: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ora-srv)(PORT=1521))(CONNECT_DATA=(SID=ORASID)))
orclSystemName: ora-srv.yourorg.com
orclSid: ORASID
There are technically some other fields you can put in, such as "orclOracleHome" and "orclVersion", but they are not strictly neccessary for the most part.

You are now all done with the LDAP side!

On the client side, you would need to add to, or replace, your sqlnet.ora definitions.You can have a single line with nothing but:

NAMES.DIRECTORY_PATH= (LDAP)
And lastly, you need an ldap.ora file, looking something like the following:
DEFAULT_ADMIN_CONTEXT = "dc=oracledb,dc=yourorg,dc=com"
DIRECTORY_SERVERS = (ldapsrv1:389,ldapsrv2:389)
DIRECTORY_SERVER_TYPE = OID

LDIF schema format differences

While "normal" object operations with OpenDS are the same as other servers, apparently, schema changes are slightly different.

This oracle blog mentions the differences, and also provides a python script to automagically convert from openldap schema notation, to OpenDS format.

This material is copyrighted by Philip Brown


Written by: Philip Brown
Bolthole Top - Solaris Top - Search Bolthole.com