1. The following statement is used to query which objects are locked:
Select object_name, machine, S. Sid, S. Serial #
From v $ locked_object L, dba_objects o, V $ session s
Where l. object_id = O. object_id and L. session_id = S. Sid;
2. The following statement is used to kill a process:
Alter system kill session '123456'; (24,111 is the Sid found above, serial #)
[Note] the preceding two steps can be performed on the Oracle console. The user must have the corresponding permissions.
3. if the process state is set to "killed" after a process is killed by using the preceding command, but the locked resources are not released for a long time, then, the corresponding process (thread) can be killed at the OS level. First, execute the following statement to obtain the process (thread) Number:
Select spid, osuser, S. Program
From v $ session S, V $ PROCESS p
Where S. paddr = P. ADDR and S. Sid = 24 (24 is the SID above)
4. Killing the process (thread) on the OS ):
1) run the command as root on UNIX:
# Kill-9 12345 (that is, the spid obtained in step 1)
2) In Windows (UNIX also applies), use orakill to kill the thread. orakill is an executable Command provided by Oracle. The syntax is as follows:
Orakill Sid thread
Where:
Sid: indicates the Instance name of the process to be killed.
Thread: the ID of the thread to be killed, that is, the spid obtained in step 1.
Example: C:> orakill orcl 12345