Oracle 10g for Mac OS X
Oracle Database 10g is now available for Mac OS X 10.3. There are three versions: Standard, the basic product, with a limit of four processors per server; Enterprise, unlimited processors, with extra facilities such as the ability to keep remote replicas of databases, better auditing, compression and stream-based inter-system communication; and Standard Edition One, a slightly cut-down release of the basic product, with a limit of two processors, aimed at low-end users.
Oracle has traditionally been a pretty difficult beast to use. Although screamingly powerful and scaleable (I used to manage a client-server Oracle development team working with eight CPU servers and tables with tens of millions of rows) you traditionally had to employ a trained database administrator (DBA) to figure out where your queries weren’t optimal, and thus to milk the best performance from the kit.
Oracle 10g is much, much simpler than its predecessors for the average user to set up. Although the company’s claim that you can be up and running in 17 minutes isn’t too optimistic, it does gloss over the fact that before you can run the installer, you have to muck about creating new users, groups, directories and access permissions using Mac OS tools and/or the Unix command line. In fact, there are a couple of times when the installer pauses and asks you to run a script from the command line by hand. Everything’s fine if your installation goes swimmingly, but if there’s a problem, you have to wade through the installer logfile in the hope of (a) finding what you want and (b) knowing how to deal with it.
Assuming everything installs happily (which ours did) you control the system through a browser-based tool called the Enterprise Manager (EM). Because Oracle has adopted the concept of grid computing (where a set of computers are treated as a single ‘blob’ of computer power rather than a disparate set of kit) if you have more than one server, everything can be looked after from a single location. Large enterprises can even group servers together and delegate different levels of responsibility for different sets of servers to different individuals’ login IDs. As well as allowing you to install Oracle components from this central location, EM will identify what patches exist for your particular architecture(s) and can either install them automatically or wait for you to hit “Go”. EM is a refreshing change from the traditional requirement to fly most things via text-based config files and command lines, though the latter are still there for die-hard Oracle-philes.
There’s not actually a great deal to do with regard to managing the database, because Oracle has taken great pains to try to automate many of the jobs you’d traditionally pay a DBA through the nose to do. So EM will warn you when something isn’t configured correctly (eg you’ve been over-generous with access permissions to key items, or there’s an invalid stored procedure in the database). There are even advanced tools thrown in, such as ADDM (Automatic Database Diagnostic Monitor) that will tell you which
of your queries are inefficient – for example, where you’re searching frequently on an unindexed field.
The system can also now deal with reorganizing its RAM/disk resource allocations from monitoring its own behaviour. Of course, all this automation isn’t going to remove the need for a DBA altogether, but at least it means that lots of the simple, but time-consuming, stuff is done by the software and the DBA’s left free to do the more advanced analysis and optimization.
You have two licensing options. Either you buy a per-processor licence (actually a per-processor-core licence, to cater for these newfangled multi-core CPUs) or you license Oracle per named user (each individual who’s going to be using it). However, the software doesn’t enforce its licences (that is, it doesn’t refuse to work when you try to run more bits than you’ve bought), so you need to be careful to pay for the copies you’re using.
Mac developers are also looked after reasonably well by Oracle. The JDeveloper suite, which is free to download and use, is an extensible IDE for developing not just standalone applications, but neat stuff like Web Services. As with previous versions, the entire Oracle 10g family is also free to download and use for development purposes – to be played with as much as you like.
It’s good to see Oracle porting its products to Mac OS X, not least because Apple’s line of servers (especially the Cluster version of the Xserve G5) combines perfectly with the current fashion for cluster-oriented applications that Oracle is determined to exploit. Although Apple’s recent switch toward an Intel-based architecture has made Oracle pause, the fact that Oracle’s base development architecture is Linux on Intel CPUs means that future versions are likely to appear more swiftly after their Linux siblings. And Oracle says it’ll continue to support Mac OS on PowerPC for as long as Apple does.
Oracle is intensely competitive, and will offer ridiculous discounts as an incentive to purchase (particularly if you’re using a competitor product already), so you should definitely call to see what deal they’ll do.