We use DBD::Oracle for 24/7 operations. I have not ever had an issue with it.
Now that Spacewalk has the RPMs it makes Fedora and RHEL easy to install and it is very nice just to have them built. I wish someone could just fix this license issue "Not compatible with Fedora licensing, as it requires oracle-instantclient-devel"
Installation can be tricky. It was important to read the printout carefully and research the web a bit to find solutions. Even so, v1.21 worked with oracle 10g, but wouldn't install with 9i. v1.19 worked with 9i.
Re: Mladen Gogala's comments, support for Oracle native array interface was added in 1.18. For transparent application failover and bulk loading, see Oracle::OCI, which offers low-level access to the entire Oracle call interface.
I think the comments from Mladen Gogala are very harsh and should not discourage anyone from taking a serious look at DBD::Oracle. This module is one of the oldest DBDs and well maintained with many recent updates (e.g. recent support for scrollable cursors and persistent lobs). I've used DBD::Oracle for over 3 years in production environments; all of the DBI interface is fully supported including execute_array and support for iThreads and there are many other Oracle specific methods for additional functionality included in OCI. If you want to use unicode, procedures, packages, do nifty things with cursors returned from package procedures, use nested cursors, embedded objects of OBJECT, VARRAY and TABLE etc you'll not find this module lacking. Like Oracle, it is not a breeze to get up and running on /some/ systems but many recent changes for improved installation with instant client have made this a lot easier.
Don't look upon the install as setting up just another perl module: look on it as (a) bringing the wonderful world of Oracle to your snuggly perl nest (b) helping you avoid other, nastier languages (c) increasing your day rate.
Read the README and POD, and then Google.
*** You will need Oracle client libraries on the machine for which you're installing this module.*** You can use the Oracle CD or get free copies from their site.
Installing is not easy. Once installed - a great interface with support to many Oracle's features. Tested with 9i and 10g.
This is my procedure for AIX 5.2 (32 bit) DBD::Oracle perl 5.8.0 aix-thread-multi install:
1. Set ORACLE_HOME and check perl with perl -V to see how it was
export ORACCENV='cc=xlc_r' # my perl -V says cc_r
perl Makefile.PL -m $ORACLE_HOME/rdbms/demo/demo_rdbms32.mk
2. fix Makfile by replacing the line with OTHERLDFLAGS = -q32
with OTHERLDFLAGS = -q32
( s/^OTHERLDFLAGS = -q32/OTHERLDFLAGS = -b32/)
The build was simple enough. I used the method Sean Kelly stated of changing the <ORACLE_HOME>/lib to <ORACLE_HOME>/lib32 in the make file. I didn't like that it had to connect to a database for testing but how the heck else are you going to test it right? I'm just about to use it but it does look very promising.
I've built severl DBD-Oracle modules over the years. Each seems to get progresively worse. While the 1.14 release builds and runs very well on Linux, a similar configuration on an HP-UX 11.0 system fails miserably.
This was the first version I've seen where the Makefile.PL script actually refused to run without modifications. After a week and a half of work and trying every conceiveable configuration option, the module still refuses to load for testing.
I realize part of this is Oracle's fault due to the construction of their libraries and internal makefiles, but it seems that v1.14 will not operate properly in an HP-UX 64-bit environment. This is unfortunate since most of our customers use HP rather than Linux.
I hope that I have time to do some serious work on this and build a working bundle.
I have used this module without any difficulties on Solaris 2.6 with Oracle 7.3.4 for years (OK, I need to upgrade, but ConText text retrieval and Oracle Text are incompatible so there is a porting effort needed for a legacy application using the same database, without the DBI, when money is available :-).
Solid and reliable. Also implements a number of useful Oracle-specific features.
Only minor issues:
* 1.14 can be a little tricky to build on some platforms against Oracle 9i (mostly due to Oracle changing the 32bit and 64bit libraries around).
* Not all the private functions are documented; e.g. $dbh->reauthenticate.
Installation was somewhat confusing since tests
require Oracle DB access and I didn't see this
documented. Currently experiencing some problems
with portability due to the need to redefine
LD_LIBRARY_PATH if Oracle is not installed in
same absolute path on all systems. Otherwise,
it works great and simplifies Oracle DB access.