oracle查看被锁的表和解锁
查看被锁的表
select p.spid,a.serial#, c.object_name,b.session_id,b.oracle_username,b.os_user_name from v$process p,v$session a, v$locked_object b,all_objects c where p.addr=a.paddr and a.process=b.process and c.object_id=b.object_id ;
查看那个用户那个进程照成死锁,锁www.2cto.com的级别
select b.owner,b.object_name,l.session_id,l.locked_mode from v$locked_object l, dba_objects b where b.object_id=l.object_id;
查看连接的进程
SELECT sid, serial#, username, osuser FROM v$session;
杀掉进程
alter system kill session 'sid,serial#';
解决查询缓存sql游标 溢出的sql
select user_name,o.sid, osuser, machine, count(*) num_curs,SQL_TEXT
from v$open_cursor o, v$session s
where user_name = 'PZHR' and o.sid=s.sid
group by o.sid, osuser, machine ,SQL_TEXT ,user_name
order by num_curs desc;
检查打开了多少游标
SELECT s.SID, n.NAME para_name, s.VALUE used
FROM SYS.v_$statname n, SYS.v_$sesstat s,(select sid from v$mystat where rownum =1) m
WHERE n.NAME IN ('opened cursors current', 'session cursor cache count')
AND s.statistic# = n.statistic#
AND s.SID = m.sid;
这句就是检查系统总共打开了多少游标 select * from v$sysstat where name = 'opened cursors current'