解决锁表问题

原创 2016年08月31日 14:51:11
由于多次使用for uptate使得数据库表被锁,解决方法如下:
---锁表查询的代码有以下形式
select count(*) from v$locked_object;
select * from v$locked_object;
--查看哪个表被锁
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;
--查看是哪个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;
--查看是哪个sql引起的
select b.username,b.sid,b.serial#,c.* from v$locked_object a,v$session b,v$sql c where a.session_id=b_sid
and b.SQL_ID=c.SQL_ID and c.SQL_ID='' order by b.logon.time;

--杀掉对应的进程
alter system kill session '389,5145';
alter system kill session '772,1385';
alter system kill session '589,1419';
alter system kill session '589,1419';
alter system kill session '1352,3435';
alter system kill session '1352,3435';
alter system kill session '1163,859';
alter system kill session '1163,859';

为了避免表再次被锁,通常尽量少的使用for update。可以使用select  t.rowid,t.* from hgjksdr t ;
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Oracle 解决锁表问题

前言更新一张表的数据,就几百条,然后特别慢,一直在执行,然后强制退掉,重新执行还是一样,考虑到可能是锁表的问题!解决①首先查找是哪些session被锁:select object_name,machi...

解决erlang和java同时操作一张表,造成锁表问题

作者:张昌昌 1、问题描述      Erlang端通过odbc去写oracle一张表,同时java通过jdbc驱动也去写这张表,当同时多次发生这种写操作时,这个表就被锁。 2、问题解决   ...

[整合]DB2表锁定解决方法【主要还是程序问题导致的锁表】

1、             打开监视死锁的开关 db2 update monitor switches using lock on   2、             死锁的查看 C:/>db...
  • unimme
  • unimme
  • 2014年05月07日 11:24
  • 840

Oracle 出现锁表问题解决步骤(以前写的一份故障排查报告)

基本操作顺序1 查出锁定object的session的信息以及被锁定的object名SELECT l.session_id sid, s.serial#, l.lo...

mysql C api 多线程多连接 存储过程 锁表问题

问题环境: 问题现象: 引起结果:mysql_query 执行commit命令 没有提交存储过程中的update语句 关于mysql C API事务功能两点使用体会记录文档。...

数据库 for update 锁表的问题

Oracle 的for update行锁 键字: oracle 的for update行锁    SELECT...FOR UPDATE 语句的语法如下:    SELECT ... FOR UP...

ORACLE 中关于锁表的问题

ORACLE里锁有以下几种模式:      0:none   1:null 空   2:Row-S 行共享(RS):共享表锁   3:Row-X 行专用(RX):用于行的修改   4:Sh...

内存溢出与数据库锁表的问题

内存溢出与数据库锁表的问题,可以说是开发人员的噩梦,一般的程序异常,总是可以知道在什么时候或是在什么操作步骤上出现了异常,而且根据堆栈信息也很容易定位到程序中是某处出现了问题。内存溢出与锁表则不然,一...

sybase锁表检查与解决方法

  • 2011年07月12日 09:01
  • 5KB
  • 下载

oracle锁表的问题

Oracle 11g中可以将一个表从普通表修改为只读表,在这种只读状态下,表的操作被限制,具体的限制如下: 不允许增删改DML操作; 不允许select ... for update悲观锁定; ...
  • Draling
  • Draling
  • 2011年12月22日 13:42
  • 569
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决锁表问题
举报原因:
原因补充:

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