(1)See which table is locked
select b.owner,b.object_name,a.session_id,a.locked_mode from vKaTeX parse error: Expected ‘EOF’, got ‘#’ at position 115: …,b.sid,b.serial#̲,logon_time fro…locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;
(3)Kill the corresponding process
Execute the command: alter system kill session ‘1025,41’; (pay attention to the problem of spaces in the middle)
Here is the main point
---Lock table query SQL
SELECT object_name, machine, s.sid, s.serial# ,o.owner
FROM gv$locked_object l, dba_objects o, gv$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid;
Use this query to look up the locked object, the locking table device, and the sid and serial
2
--Force process shutdown
alter system kill session '1434, 2425';
Here 1434 and 2425 are the sid and serial of the previous query, respectively
3
--When 'ORA-00030: User session ID does not exist' appears
--query process number
select distinct s.sid,s.serial#,p.spid as system process number
from v$locked_object l , dba_objects o , v$session s , v$process p
where l.object_id=o.object_id and l.session_id=s.sid and s.paddr=p.addr;
4
Log in to the database server using the Xshell tool and execute the following command.
kill -9 system process number
The system process number is the spid queried in the previous step
At this point, the table locking problem can be solved perfectly!