--查看锁表进程SQL语句(可确定执行的语句是否有锁表)
select sess.sid,
sess.serial#,
lo.oracle_username,
lo.os_user_name,
ao.object_name,
lo.locked_mode
from v$locked_object lo,
dba_objects ao,
v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.sid;
一、执行sql语句卡住了,点小闪电也停不下来时。
1、先根据登录的用户名查到
select a.sid, a.program, b.pid ,b.spid, c.sql_text,c.SQL_ID
from v$session a, v$process b, v$sqlarea c
where a.paddr = b.addr
and a.sql_hash_value = c.hash_value
and a.username = '执行卡住sql语句的用户名';
2、杀进程(用sysdba权限的用户登录,不行就直接试试第三步)
alter system kill session '39,31012' immediate; --参数为'sid,serial#',用于停止这个回话,同时也终止了存储过程