I've got a set of programs that explicitly secure a certain type of lock in Oracle and then perform a certain process. Sometimes these programs die unexpectedly. When they do, the client process dies, but there is a server process within the Oracle instance itself that stays up because it is still holding that lock. The server process is apparently incapable of detecting that the client has died. It won't detect it until something I'm not sure of happens
So, I need to catch every possible signal that might make these client processes die and have them attempt to release that lock if at all possible before dying.
Oh, and I have to do it in Java.
The reason I'm here writing about it is I was going to ask if anyone knew how to do this. (The reason I'm here and not on a Java site is because Perl programmers are smarter than Java programmers, and of course because I am always here and don't seem to derive enough benefit to going elsewhere to justify it.
So I guess now I just need to go read about it. Thanks, guys. You're great.
Glad to be of help (Score:2)
You may need to do more work than that (Score:1)
If your sysadmins are being happy with kill -9, then what you may need to do is write a monitoring process which is told what each Java process is doing, and will tell Oracle to clean up after them when they disappear without properly cleaning up.
Another possibility is that the bug is in Oracle. Unlikely I know, but back in the Oracle 8 series I ran across a query that caused an internal Oracle process to try to f
Re: (Score:2)
Yeah, that's why I said "catch all signals possible." :)
Part of the issue is actually that I myself and one of our monitoring groups have to kill this every so often, although I definitely don't kill with 9 unless something refuses to go away with something weaker.
I'm not sure a second process could tell Oracle to release these locks, because it wouldn't own them. So I'm not sure the monitoring process idea will work. It might be possible, however, for an audit process to run on the server side and ki
J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers
Re: (Score:1)
This does take a lot of work to set up though. I wouldn't go there unless you really have to. But be aware that it is an option.