| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.misc -> Oracle query still running after oraperl process is killed.
Hi there,
I have a large query launched from a CGI OraPerl script. The query sums a lot of data, so all the work is done during the ora_open call.
Often, a user will stop the loading of the web page (often accidentally -- or they resubmit the form with new data after changing their mind).
When this happens, the web server seems to have terminated the perl process (I guess with a sigterm, but I haven't checked). But the related Oracle process keeps running. Several of these rogue processes can hurt system performance, and I'm trying to find the correct way to kill them.
The oracle process I'm referring to is called "oraclexxx", where xxx is the name of the database instance. It shows up in a PS as being owned by oracle, but I think the real user ID is the same as the owner of the perl job, since I can kill the oracle process when logged in as that user.
I can't find any proper OraPerl calls to abort an ora_open. I tried putting a signal handling routine to call ora_logoff before exitting but that didn't seem to do the trick. What happens when I kill (sigterm) the oraclexxx process? Is this at all well-defined or safe?
Any advice or suggestions would be appreciated.
I'm working on a Digital Alpha system running Digital Unix 4.0B, Oracle 7.3.2.3.something and I'm not sure about the OraPerl version. The web server is Zeus Server 1.2.
Thanks!
Dylan Received on Mon Sep 15 1997 - 00:00:00 CDT
![]() |
![]() |