Published on MacDevCenter (
 See this if you're having trouble printing code examples

Installing Oracle 9i on Mac OS X, Part 1

by David Simpson

Editor's note: In this first part of a three-part series exploring Oracle 9i on Mac OS X, David Simpson provides you with some excellent background information and a look at the ramifications for Solaris administrators. In Part 2, he'll discuss the conversion for FileMaker administrators, followed by Part 3, where he pulls information from Oracle's documentation, various Web sites, and personal research to detail the actual installation process of Oracle 9i Developer Release 1 on Mac OS X.

Oracle and the Macintosh

I've been an Apple customer since I bought my 128K Macintosh in 1984, and I make my living performing Solaris and Windows system administration in my role as an Oracle DBA. So it's been very exciting for me to see the introduction of Mac OS X and now the availability of Oracle 9i on Mac OS X. With its highly regarded BSD UNIX core, Mac OS X enjoys the reliability previously obtained only from UNIX/Linux servers.

This UNIX core also enhances developer's ability to efficiently port applications to Mac OS X. Applications such as OpenOffice, Sybase, and now Oracle 9i would probably never have been ported to the Mac platform if it were not for Mac OS X. UNIX developers who already have a non-graphical program running on an existing UNIX/Linux platform often need to make very few changes to their application in order to support Mac OS X.

Because Oracle databases generally work almost identically on each platform upon which they run, it's really only a matter of learning the quirks of platform-specific installation steps such as running oradim.exe on Windows to create entries in the Services Control Panel or creating a database startup/shutdown script within the /etc/rc3.d directory on Solaris. On Mac OS X, this same task is accomplished by creating the /Library/StartupItems/Oracle/Oracle startup/shutdown script along with its associated StartupParameters.plist file within the same directory.

I have some background information that I need to cover before getting into the specifics of installing Oracle on Mac OS X. So let's take care of that business now.

What Oracle 9i on Mac OS X Means to Apple

Why is the availability of Oracle 9i on Mac OS X important to Apple?

What Oracle 9i on Mac OS X Means to Oracle

Is Mac OS X just another UNIX platform?

This doesn't mean that Oracle isn't trying or making progress with improving usability. The latest versions of the Oracle Enterprise Manager Console are rich with features and continue to improve with each revision. And with each revision of the database, additional database configuration parameters are automatically tuned by the database instead of the DBA. Some of the complexity is the result of the fact that the database has so many features and options available. And customers certainly like as many features and options as they can get in any product.

Oracle may end up being surprised at the usability demands made by Macintosh customers. Macintosh customers have very high standards for usability. In the UNIX server marketplace, most applications have two user interfaces. One interface is the pretty looking graphical interface you see on the marketing brochures, and the other interface is the command line interface. It is generally accepted by UNIX administrators that the GUI interface versions of most applications just simply don't work well. Experienced system administrators will often go right to the command line interface and seldom use the GUI interface.

This is quite different from the environment expected by Macintosh customers. On a Macintosh, the GUI interface to an application has usually been the only interface available therefore it had to work correctly every time. And if the GUI interface didn't work correctly, the application would receive very poor reviews. Therefore Macintosh customers will push Oracle (and all other Mac OS X software vendors) to improve the user experience with their products. The end result will be an improvement in usability on all platforms. This would be especially true for Oracle because the Oracle GUI tools are all written in Java, which is very portable between platforms.

What to expect from Oracle 9i on Mac OS X, for an Oracle DBA experienced with Solaris

The first thing to remember is that this is a developer release and not a production release of the database. But, even for a developer release it's surprisingly complete. All of the really difficult to implement and important features relating to building, backing up and recovering a database instance appear to be functional. This is no small feat for a product as complex as Oracle, which is often considered to be as complex as an entire operating system. Complete standby database functionality is included if you write your own setup/maintenance scripts instead of using the Data Guard Manager utility.

What's included:

The following features are based upon some common Oracle features I install and test during a typical database installation. I have by no means tested every possible feature within the Oracle 9i database.

What is not included:

Related Reading

Oracle Essentials: Oracle9i, Oracle8i and Oracle8
By Rick Greenwald, Robert Stackowiak, Jonathan Stern

Mac OS X Specific Features:

Mac OS X Specific Issues

No shutdown capability from /sbin/SystemStarter: On Solaris, a DBA would generally install an /etc/init.d/dbora database startup/shutdown script with symlinks to /etc/rc3.d/S88dbora and /etc/rc0.d/K88dbora. During system startup the scripts in the rc3.d directory are executed with the "start" argument, and during shutdown the scripts in the rc0.d directory are executed with the "stop" argument. On Mac OS X 10.2.1 (client and server) the /sbin/SystemStarter program executes startup scripts placed within subdirectories within the /Library/StartupItems and /System/Library/StartupItems directories with the "start" argument. It appears that the intended behavior for SystemStarter is that it should also pass the "stop" argument to these same scripts upon system shutdown, but this does not currently occur. So, at least for now, it is necessary to shutdown the database manually before shutting down Mac OS X.

Summary for Solaris DBAs

Mac OS X offers the potential to be a robust platform for installing workgroup-sized Oracle databases while offering the reliability we would normally expect from a Sun server. Even if the application is expected to grow beyond the hardware offerings available from Apple, Mac OS X can provide a reliable starting point for a database which may eventually end up being migrated to larger Sun hardware. Mac OS X offers the reliability of a an operating system like Solaris at a hardware price of a Windows server. Reliability and manageability exceeds that which is available from a Windows server, while not requiring as many changes to DBA written scripts when migrating up to a Solaris server.

Next Time

Today I discussed similarities and differences between running Oracle on Mac OS X to Solaris. In part two I'll talk to FileMaker Pro DBAs who might be considering migrating to Oracle on Mac OS X. See you next time.

David Simpson is president of .com Solutions Inc. and the developer of the Installgen application.

Return to the Mac DevCenter.

Copyright © 2009 O'Reilly Media, Inc.