Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1076720
  • 博文数量: 165
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1351
  • 用 户 组: 普通用户
  • 注册时间: 2016-03-11 14:13
个人简介

狂甩酷拽吊炸天

文章分类

全部博文(165)

文章存档

2024年(1)

2023年(1)

2022年(3)

2021年(4)

2020年(17)

2019年(37)

2018年(17)

2017年(35)

2016年(50)

分类: Oracle

2016-08-05 15:45:39

今天使用select * from bd_corp for update改了好几次之后,突然执行N长时间都不行,马上给用友打电话,我听到了“锁表”两个字。

马上查询。

们在操作的时候,有时候会由于操作不当引起库 表被锁定,这么我们经常不知所措,不知怎么给这些表解锁,在pl/sql Developer工具的的菜单“tools”里面的“sessions”可以查询现在存在的会话,但是我们很难找到那个会话被锁定了,想找到所以被锁的 会话就更难了,下面这叫查询语句可以查询出所以被锁的会话。

1,查看哪个表被锁

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,查看是哪个session引起的

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;

3,杀掉对应进程

  执行命令:alter system kill session'1025,41';

  其中1025为sid,41为serial#.

阅读(1392) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~