I'm running into a sporadic error in a perl script that is accessing an Oracle database, sometimes at the same time that other perl scripts are also accessing the same database. Apparently, I'm getting into some resource-sharing trouble, but I don't know how to avoid it. I'm occasionally getting the following die dump:
DBD::Oracle::db do failed: ORA-00054: resource busy and acquire with NOWAIT specified (DBD ERROR: OCIStmtExecute) at D:\dev\ff\bin/FFOra.pm line 1012. ORA-00054: resource busy and acquire with NOWAIT specified (DBD ERROR: OCIStmtExecute) at D:\dev\ff\bin/FFOra.pm line 1012. Issuing rollback() for database handle being DESTROY'd without explicit disconnect(). I can't find a way to specify that DBI should acquire the resource (apparently an Oracle index that this script wants to rebuild, but which may be in use by another script) without the NOWAIT specification, which I assume is the default. If you know of a way to tell DBI to wait for the resource instead of dying, I'd really appreciate hearing about it. Thanks in advance. - Tim.
