select t2.username,t2.sid,t2.serial#,t2.logon_time
from v$locked_object t1,v$session t2
where t1.session_id=t2.sid
order by t2.logon_time;
--查死锁--
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
--查死锁--
Select decode(request, 0, 'holder:', 'waiter:') || sid sid,id1,id2,lmode,request,type,ctime/60 锁定时间
from v$lock where (id1, id2, type) in
(select id1, id2, type from v$lock where request > 0) order by id1, request;
--根据sid获取进程详情--
SELECT a.username,a.machine,a.program,b.spid,a.sid,a.serial#,a.status,c.piece,c.sql_text
FROM v$session a, v$process b, v$sqltext c
WHERE a.sid = '749'
AND b.addr = a.paddr
AND a.sql_address = c.address(+)
ORDER BY c.piece;
-- add 2012-09-14
-- 数据表死锁的解决方法(转)
死锁是数据库经常发生的问题,数据库一般不会无缘无故产生死锁,死锁通常都是由于我们应用程序的设计本身造成的。产生死锁时,如何解决呢,下面是常规的解决办法:
1)执行下面SQL,先查看哪些表被锁住了:
select b.owner,b.object_name,a.session_id,a.locked_mode
from v$locked_object a,dba_objects b
where b.object_id = a.object_id;
2)查处引起死锁的会话
select b.username,b.sid,b.serial#,logon_time
from v$locked_object a,v$session b
where a.session_id = b.sid order by b.logon_time;
这里会列出SID
3) 查出SID和SERIAL#:
查V$SESSION视图:
SELECT SID,SERIAL#,PADDR FROM V$SESSION WHERE SID='刚才查到的SID';
这一步将得到PADDR
4)查V$PROCESS视图:
SELECT SPID FROM V$PROCESS WHERE ADDR='刚才查到的PADDR';
这一步得到SPID
5)杀死进程
(1)在数据库中,杀掉ORACLE进程:
ALTER SYSTEM KILL SESSION '查出的SID,查出的SERIAL#';
(2)如果在ORACLE中不能杀死进程,我们只能到操作系统中,使用操作系统命令杀死进程
KILL -9 “刚才查出的SPID”
在WINDOWS平台,可以是偶那个orakill。
分享到:
相关推荐
使用PLSQL语句对表中数据进行更新,对表中数据进行更新
总结简单PLSQL查询语句,包括删除,in,逻辑语句,排序等
本文为如何使用plsql新创建表空间,简单实用,速度快。希望大家多多交流,谢谢支持!
plsql查询数据库时中文字段为乱解决方法
plsql求最大值最大值.txt
PLSQL查询有的时候会出现乱码,通过修改字符集来避免乱码
plsql oracle 数据库图形化 plsql oracle 数据库图形化
自己初学时整理的PLSQL基本函数查询,其中附带了函数在《精通oracle 10g PL SQL編程》一书中的详细页码,建议结合使用。
数据库的查询语句很常用,这是一个学习笔记,虽然有班门弄斧之嫌,但是对于初学者还是比较有用的,无需资源分,欢迎下载
Oracle 利用PLSQL实现分页查询代码
计算机 数据库 oracle PLSQL 语法
如何从oracle数据库中快速方便的导入导出,此教程教会你利用PLSQL Developer快速完成
PLSQL显示乱码、导出问题的解决方法
PLSQL语言转换注册表 直接修改语言关键字对应的值,即可更改PLSQL的语言编码,非常好用
plsql精解plsql精解plsql精解plsql精解
访问存储在oracle中的ST_Geometry类型数据的SQL函数通过扩展oracle的external procedure agent或者extproc来实现,因此,直接使用这些SQL函数需要配置oracle的listener,让oracle能够找到这些扩展库。...
是程序员开发时数据端的用途是数据库查询工具简介 适用于oracle数据库开发使用
PLSQL到处用户对象和表,使用它可以操作Oracle相关信息。
oracle 非常棒的sql工具 PLSQLDev使用简介--图文并茂的展示了其使用方法。
PLSQL中记录被另一个用户锁住的原因及处理方法