I'm getting: DBD::Oracle::db disconnect failed: ORA-00600: internal error code, arguments: [729], [360], [space leak], [], [], [], [], [] (DBD ERROR: OCISessionEnd) This is after calling a stored procedure which returns some data through a inout parameter around 50 times. The disconnect is in our error handeling. The error that sends us to disconnect is: DBD::Oracle::st execute failed: ORA-01000: maximum open cursors exceeded Our DBI code inside the loop looks like: my $procedure = q{ BEGIN RAP.GET_NEXT_JOB(:id, :cmd, :bsub); END; }; my $sth = $dbh->prepare_cached( $procedure ) || confess "Can't prepare"; $sth->bind_param_inout(":id", $identifier, 20, DBI::SQL_INTEGER); $sth->bind_param_inout(":cmd", $command, 512, DBI::SQL_VARCHAR); $sth->bind_param_inout(":bsub", $bsub, 512, DBI::SQL_VARCHAR); $sth->execute; We tried putting a $sth->finish after the execute, but that doesn't change anything. It seems to be something to do with the inout param because we do something very similar with only in params and never have the problem. Any ideas or suggestions? thanks -EliThread Next