1748038 Members
4926 Online
108757 Solutions
New Discussion юеВ

kill process

 
SOLVED
Go to solution
ivy1234
Frequent Advisor

kill process


The below is the output of lsof -i tcp:7158

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
_ora1 5168 root 13u IPv4 584587222 TCP *:ora2 (LISTEN)
_ora2 5168 root 14u IPv4 848578242 TCP ORA:ora2->192.168.100.37:
5878 (ESTABLISHED)

"
"


I found that the process 5168 is locking the database , now the user can't access the database via the service port 7158 , I have to kill it to release the service port , but if I kill it , then I have to restart the database also , otherwise , I can't re-start the service port , can advise how can I only kill the device ID 848578242 , instead of kill the pid 5168 ? thx
2 REPLIES 2
Stephen P. Schaefer
Frequent Advisor
Solution

Re: kill process

This appears to be all about the Oracle database: some request has come in that "locks the database", then doesn't release the lock in a reasonable amount of time. I put "locks the database" in quotes, since polite applications only lock individual table rows, rude ones only lock entire tables, and only broken ones lock the entire database. If they're available, I would talk to the application folks about what the database client is trying to accomplish, and why it isn't.

If the application folks aren't available to collaborate, in a pinch I'd try forging a TCP RST packet from the client, simulating the client's response had it been rebooted in the middle of the session, telling the server OS to terminate the connection (this probably requires discovering the current TCP sequence number, or the RST packet will be rejected as inauthentic; that means either diving into the kernel data structures for the connection or using something like the libpcap library in a sniffing program to record the sequence numbers of interest); if you're lucky, the database server process will notice the terminated connection and abort the request it's servicing. See the discussion at http://forum.soft32.com/linux/killing-socket-connection-cmdline-ftopict473059.html

An expert in Oracle will probably have a more elegant solution. Collaborating with the application developers is best.
emha_1
Valued Contributor

Re: kill process

hi,

your problem is that process _ora1 listens on port (ora2=)7158. once it receives a connection it hands over control of the connection to or spawns thread/process _ora2 to take care of further communication. once the process _ora2 makes connection on the same port 7158 no other clients are allowed to connect to the same port.
the most probably your _ora1 and _ora2 processes tries to connect to ORACLE very non-standard way and therefore you have problems.

as processes "_ora1" and "_ora2"? seem not to be anything standard from ORACLE but rather something very specific to your environment the best would really be to discuss it with application owner/developer what's really going on.

if you can not do that, you have to provide much more info about your env and ORACLE related setup.

emha.