Installing Oracle 9i on Mac OS X, Part 1
Pages: 1, 2
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.
- Basic database functionality: The basic features of creating tables and tablespaces, inserting and querying data, which we expect of a database, is functional.
- Intermedia: Standard scripts for building Intermedia for Oracle 9.2 instances seems to work OK. You do need to create the DRSYS tablespace prior to running these scripts.
- SqlPlus: SqlPlus is functional via the command line for starting up, creating the instance, and shutting down the database. The Java and Web based versions of SqlPlus are not supplied with this release.
- RMAN: RMAN is functional for backing up, restoring, recovering, and cloning the database as a standby database.
- Standby database: Managed standby database functionality appears complete in regards to setup, propagation of archivelogs via RFS, switchover, switchback, and failover.
What is not included:
- Oracle Universal Installer application: Installing Developer Release 1 is actually a little easier and much quicker than the typical install done with the Oracle Universal Installer Java application. This is because all you really do is uncompress and untar the binary file to install the database software. There is no delay waiting for the installer to copy and assemble the various components together, no waiting for root.sh to run and no delay waiting for the binaries to be linked.
- JServer: JServer functionality and all components which require JServer are not included in this release. This omission also affects the XDB and UltraSearch features.
- XDB: requires JServer
- UltraSearch: requires JServer
- dbms_obfuscation toolkit: The owninst.plb file is not available for building the dbms_obfuscation toolkit feature into the database.
- Oracle Management Server OMS: External Java based utilities are not yet available. The intelligent agent software is also not yet available, which would be used to register the instance and manage it with an external OMS server.
- Oracle Enterprise Manager Console (OEM Console): External Java- based utilities are not yet available, therefore Replication Manager, Schema Manager, Storage Manager, Security Manager, and Data Guard Manager functionality are not yet available.
- dbms_stats.gather_system_stats(): The dbms_stats.gather_system_stats() procedure does not appear to be populating the DBA defined stats table, thus preventing the dbms_stats.import_system_stats() procedure from making these stats available to the CBO.
- No automated startup/shutdown script: The database needs to be manually started and stopped by running shell scripts or SqlPlus according to Oracle's instructions. In Part 3 of this series, I will show you how to automated the startup of the database during Mac OS X startup, but the execution of shutdown scripts is not supported by Mac OS X at this time.
- No OFA file structure: If you follow Oracle's instructions you will end up with all of your datafiles located within the
orahomedirectory. Part 3 will discuss how to perform a more standard Oracle database install in which the datafiles are spread out across multiple disks for improved I/O and reliability.
|
Related Reading
Oracle Essentials: Oracle9i, Oracle8i and Oracle8 |
Mac OS X Specific Features:
Use
/etc/oratabinstead of/var/opt/oracle/oratab: The$ORACLE_HOME/dbstartscript is expecting the oratab file to be located at the top level of the/etcdirectory. So if you are going to use dbstart or dbshut then you will either need to put the oratab file in this location or edit dbstart/dbshut with the path where oratab is located.No reboot required: It is necessary to edit kernel tuning parameters in the
/etc/systemfile when performing an install on Solaris, and then reboot the server for the changes to take effect. On Mac OS X it is only necessary to configure ulimit commands in the shell, therefore a reboot is not necessary.No editing of
/etc/hosts,/etc/passwd,/etc/groupsfiles: Apple has made an improvement to the commonly required tasks of editing the many configuration files within the /etc directory. Most of these parameters can be changed by using the NetInfo directory service on Mac OS X. With Mac OS X 10.2 and higher, you can still edit the/etcdirectory configuration files as well if necessary. Adding these parameters to NetInfo does provide a centralized location for most of the basic operating system configuration info. This can be an advantage when creating scripts because it is no longer necessary to worry about duplicating info if all you want to do is append info to a configuration file.No need to add a lot of UNIX utilities to the operating system: On a typical Solaris 7/8 database installation, it is generally necessary to add quite a few utilities to the server just to get everything installed that you would need to do your work. Some of the utilities I typically have to install include:
binutils
Perl 5.6.1
gnu make
gzip
top
less
ncurses
openssl
openssh
prngd
zlib
Mail::Sendmail (Perl module)Mac OS X has virtually all of these useful open source utilities already installed if you install the Developer Tools CD. The only additional utility I need to install manually is the Mail::Sendmail Perl module. After installing Mac OS X you don't have to feel like you need to rebuild the operating system just to get the functionality you require. In all fairness to Sun I am sure that Solaris 9 is much better in this regard. But not all UNIX system administrators are ready to upgrade to the very latest version of Solaris as soon as it ships.
Excellent patch install functionality: Once again, Solaris 9 contains improved functionality in this area, but your typical server will often be running Solaris 8 which requires some manual work to upgrade to the latest patches. Mac OS X shows how to do UNIX patch management the right way. The OS automatically checks for updates at Apple and puts up a dialog prompting the system administrator to install some or all of the latest patches.
Easier configuration of primary and alternate boot volumes: In order to speed up the disaster recovery process I generally prefer to configure Sun servers with primary and alternate boot drive configurations. If a server hits a hardware fault which causes it to reboot by itself, then it will boot up from the alternate boot drive automatically and restart the database as well. This configuration assumes that none of the critical database control or datafiles are located on the boot drives, and that there is a periodic CRON job scheduled to automatically copy the contents of the primary to the alternate boot drive. On Solaris, open firmware commands need to be used to actually configure the primary and alternate boot drives. However, on Mac OS X it is as simple as installing the OS on two drives and selecting the appropriate one to serve as the boot drive. If the server reboots and can't find the previously selected boot drive, it will boot from the alternate drive automatically. An application like Carbon Copy Cloner could be scheduled either with the standard CRON utility or with the Cronnix graphical CRON utility to keep the alternate boot drive updated with the primary drive .
Case insensitive file/directory names when using HFS+: One item which may come as a pleasant surprise to experienced Solaris DBAs is that pathnames and filenames are case insensitive when issuing shell commands which operate on HFS+ volumes. This is a nice feature when typing commands in the terminal. However you can't necessarily count on all UNIX applications making use of this functionality, especially commands that you issue within the database or from within database utilities. When setting up a non-boot drive to store Oracle datafiles, I generally recommend formatting the drive with a UFS filesystem in order to prevent myself from relying on being able to use this case insensitivity feature. This way I can ensure that all of my scripts will be easily portable to other Linux/UNIX servers.
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.
You must be logged in to the O'Reilly Network to post a talkback.
Showing messages 1 through 12 of 12.
-
Oracle / Unix Student: currently in school
2003-12-03 19:41:01 anonymous2 [Reply | View]
-
Oracle / Unix Student: currently in school
2004-03-20 06:59:07 wldu [Reply | View]
Mac OS X is the best platform ever for everyone.
I was the fist student in my computer science class with a MAC
and showed them how powerful they are.
I have been used MAC since 2000, not very long time, but I love it, I have not had to fix MAC yet, haven't seen any crazy operating errors on it like PC.
Oracle on MAC is a smart move!
-
Panther
2003-11-09 12:47:06 anonymous2 [Reply | View]
I just re-installed it on my new Panther install and it seems to work just as well as on Jaguar
-
Oracle 9i on 10.3
2003-11-07 14:00:42 anonymous2 [Reply | View]
Anyone know if the beta Oracle 9i works on 10.3?
Thanks.
-
Thanks for your pub
2002-11-28 21:30:08 anonymous2 [Reply | View]
Hi,
I have not upgraded to Jaguar yet so I am unable to install Oracle on my Mac at home. This has been bothering me since Oracle was first released a month ago but I am now relieved that you have taken the time to post your experiences with the installation. I really like the XServe and believe it has great potential for an Oracle RAC, any comments?
I am a big fan of Apple and constantly promote it at my office...sometimes being teased and quite often envied by my fellow Oracle colleagues.
I look forward to hearing more about your installation successes/headaches and what you have to say about our product features on the Mac OSX platform.
Bill Lessard
Senior Sales Consultant
Oracle Corporation Canada
-
Looking forward to your next article
2002-11-13 11:54:42 anonymous2 [Reply | View]
Great job! -
Looking forward to your next article
2002-11-13 16:44:45 Derrick Story |
[Reply | View]
Part two is pretty darn good and will run the week of Nov. 18 (that would be next week :)
-Derrick -
Looking forward to your next article
2002-11-18 06:50:01 jsfranko [Reply | View]
I wish you had posted the actual installation article first, and then got into the deep discussions about oracle on OS X. I enjoyed the 1st article. It was just hard to fathom without the experience of a good install (which I have been unable to do on X client).
-
No OEM?
2002-11-13 08:27:51 anonymous2 [Reply | View]
I can't imagine how easy my life would be with OEM installed on my powerbook :) Running SQLGrinder as a command prompt works ok though.
I've been waiting for an article like this for some time now. I was wondering if there are any resources on the web dedicated to Oracle on OSX?? -
No OEM?
2002-11-13 18:43:42 dsimpson1 [Reply | View]
Yes OEM would be great - but it will exist in the final release (and maybe before the final release). OEM is considered to be vital technology by Oracle so they will port it. In January OEM 4.0 will ship and it will be different from the Java based version we have right now. This new version is being demonstrated at Oracle World this week and will be web-based. It looks like they rely on an Apache web server to display HTML pages. This new version will also solve the current problem with OEM sw not working thru firewalls.
This week I learned that there is an Apple forum on the Oracle OTN website. It is listed under Technologies > Platforms > Oracle. Anyone can register on OTN for free in order to use this resource. I have been told that some of the Oracle developers who worked on the Mac OS X port have been known to post answers in this forum. Since it is a developer release, it is not currently possible to obtain support thru the normal Oracle support group.
I have also seen some info in the OTN Forum for installations: Products > Database > Installation
I am also have some scripts on my own website which I hope will be helpful to you. I am in the process of updating and adding links to the rest of these scripts this week - because all of the links are not complete right now.
Here is the URL for the top level page for these scripts:
http://www.dotcomsolutionsinc.net/products/installgen/installgen_files_macosx920.html
David Simpson
-
OS X or OS X Server
2002-11-12 22:57:02 anonymous2 [Reply | View]
Does Oracle work on (and was this article written for) plain OS X or OS X Server?
They're obviously similar :-) but perhaps OS X Server has working support for shutting down services. Most OS X users (your grandmother!) want a machine to just turn off when they shut it down, which may be Apple's argument for not shutting things down cleanly on OS X. But server users have different requirements. -
OS X or OS X Server
2002-11-13 18:19:37 dsimpson1 [Reply | View]
When I was testing scripts for these articles I was hoping that Apple had done exactly what you are suggesting to make Mac OS X server behave differently. So I bought a copy of Mac OS X Server 10.2 (updated to 10.2.1) and found that it behaved exactly the same way - shutdown scripts still don't get executed.
Of course this is a significant issue for a server operating system and I mentioned it to one of the product marketing managers for Mac OS X at Apple. I got positive confirmation that this is an important issue and that they would definately look into it.
I have been at Oracle World this week and have not had a chance to test the 10.2.2 update to see if it works differently in regards to this issue.
David Simpson






The teacher told the class to download Oracle 9i from the Oracle Website for student learning use. I asked the teacher if I could eventually run Oracle SQL*PLUS in Terminal (Unix) on my Mac. My teacher indicated no and he gave me a speech about the Unix chipset vs the Macintosh chipset. I did not quite understand but whatever.
When I read the article about Oracle 9i and Mac OS X, I was very happy. Should I download installgen demo for OSX by David Simpson or should I wait until I have obtained more experience ?