查询oracle被锁对象并解锁

转载 2013年12月02日 16:23:56

转:http://www.xifenfei.com/607.html


1、查询oracle被锁对象及其语句

SELECT a_s.owner,
  a_s.object_name,
  a_s.object_type,
  VN.SID,
  VN.SERIAL#,
  VS.SPID"OS_PID",
  VN.PROCESS"CLIENT_PID",
  VN.USERNAME,
  VN.OSUSER,
  VN.MACHINE"HOSTNAME" ,
  VN.TERMINAL,
  VN.PROGRAM,
  TO_CHAR(VN.LOGON_TIME,'YYYY-MM-DD HH24:MI:SS')"LOGIN_TIME",
  'alter system kill session '''||vn.sid||','||vn.serial#||''';'"ORACKE_KILL",
  'kill -9 '|| VS.SPID"OS_KILL"
FROM ALL_OBJECTS A_S,
  V$LOCKED_OBJECT V_T,
  V$SESSION VN,
  V$PROCESS VS
WHERE A_S.OBJECT_ID=V_T.OBJECT_ID
AND V_T.SESSION_ID =VN.SID
AND VS.ADDR=VN.PADDR
AND VN.USERNAME NOT IN('SYSMAN','SYS');

2、查询该sid的sql语句

select * from v$sql vl,v$session vn
where vl.ADDRESS= decode(vn.SQL_ADDRESS,null,vn.PREV_SQL_ADDR,VN.SQL_ADDRESS)
and vn.sid=&sid;

3、解锁

alter system kill session 'sid,serial#';
--note:不能kill自身

4、查询被锁对象增强版

SELECT DDL.OWNER AS 用户,
       DDL.NAME AS 对象,
       DDL.type AS 类型,
       VS.OSUSERAS OS_USER,
       VS.MACHINE,
       VS.STATUS,
       VS.PROGRAM,
       VS.LOGON_TIMEAS "LOGIN_TIME",
       VP.SPID,
       'kill -9 '|| VP.SPID AS OS_KILL,
       vs.sid,
       vs.SERIAL#,
       'alter system kill session '''|| vs.sid || ',' || vs.serial# ||
       ''';'"ORACKE_KILL"
  FROMDBA_DDL_LOCKS DDL, V$SESSION VS, V$PROCESS VP
 WHEREDDL.SESSION_ID = VS.SID
   ANDVS.PADDR = VP.ADDR;

Oracle 查看 对象 持有 锁 的情况

同事在测试库上对一个表加字段,提示 ORA-00054, 资源忙。 应该是表对象的锁没有释放。有关Oracle 锁的说明,参考:ORACLE锁机制http://blog.csdn.net/tianle...
  • tianlesoftware
  • tianlesoftware
  • 2011年09月26日 15:05
  • 8389

oracle 查找被长时间锁定的对象并KILL

1、用如下语句查找被锁住的表名、OSclient、Session信息 SELECT B.SID         ,B.SERIAL#         ,D.SPID        OS系统进行号   ...
  • tianwei7518
  • tianwei7518
  • 2015年01月07日 09:45
  • 726

Oracle锁表查询和解锁方法

数据库操作语句的分类 DDL:数据库模式定义语言,关键字:create DML:数据操纵语言,关键字:Insert、delete、update DCL:数据库控制语言 ,关键字:grant、remov...
  • u013991521
  • u013991521
  • 2016年12月09日 15:12
  • 23123

查询Oracle正在执行的sql语句,锁表,解锁

原文出处:http://blog.csdn.net/jlds123/article/details/6572559 ----------------------- --查询Oracle正在执行...
  • zengmingen
  • zengmingen
  • 2016年03月29日 17:29
  • 11212

oracle数据库账户被锁原因查找及处理

最近部署项目,启动之后有一个账户一直被锁。 数据库账户被锁一般是连接用户密码错误次数超过限制,被锁死。 查找原因: 1.查看连接配置的用户名密码是否有误。 这个如果有误,改一下配置就好了。 ...
  • q105054
  • q105054
  • 2016年12月24日 12:28
  • 5422

oracle 查看表被哪个使用(oracle 查看表被锁)百度

oracle中怎样查看一个表是否被别的用户在使用_百度知道 1个回答 - 提问时间: 2011年02月24日 [专业]答案:selects.*fromv$locked_objectl,dba_obj...
  • haiross
  • haiross
  • 2016年03月21日 14:34
  • 3058

查询oracle被锁对象并解锁

转:http://www.xifenfei.com/607.html 1、查询oracle被锁对象及其语句 SELECT a_s.owner,   a_s.object_name...
  • FIGHT_ANGEL
  • FIGHT_ANGEL
  • 2013年12月02日 16:23
  • 1262

快速查找oracle锁对象

  • 2011年03月19日 14:24
  • 25KB
  • 下载

oracle 中如何查看有那个表被锁了?

查看被锁的表:     select   p.spid,c.object_name,b.session_id,b.oracle_username,b.os_user_name   from   v$p...
  • lcj8
  • lcj8
  • 2008年01月31日 17:30
  • 8931

ORACLE数据库表被锁的查询语句与解锁方法

ORACLE EBS操作某一个FORM界面,或者后台数据库操作某一个表时发现一直出于"假死"状态,可能是该表被某一用户锁定,导致其他用户无法继续操作 --锁表查询SQL select object_n...
  • jinchaomail
  • jinchaomail
  • 2016年04月29日 13:41
  • 4104
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:查询oracle被锁对象并解锁
举报原因:
原因补充:

(最多只允许输入30个字)