We came upon an error with a Perl script that processes data into an Oracle database. A few details:
- Server: Windows Server 2003 R2 64-bit
- Oracle: 10.2.0.4
- Perl: ActivePerl 5.10 64-bit, build 1005
So the perl script connects to an Oracle database, and runs SQL to load data from another database. It runs the SQL through a sqlplus command line, like so:
$resultString = `sqlplus $connectString \@sqlScript.sql $var1 $var2`;
{names were changed to protect the innocent}
Now what's weird is that last night the database the perl script runs on blue screened and restarted. When the perl script was run again this morning, same thing. We tracked it down to the above line in the perl code, which was attempting to connect to a database that had been shutdown over the weekend.
I can reproduce the error reliably on the server in question, but not on another win2003 64-bit server (same perl install).
Anyone have any ideas why the system call (when it received an ORA-12500 error) would crash the server? I haven't had a chance to look for any dump files, but so far I can't crash anything else with the same basic environment.
UPDATE: So it was determined that the two servers (one that crashed, one that didn't) were not patched to the same level, nor did they have any recent updates. So both were patched, and the tests were run on each again. The one that didn't crash before still didn't crash. The one that did still does. Thought I'd throw that out there in case anyone was thinking patches.