发现某张表被锁住了,怎么解决?
请高手详细解答一下,万分感谢!
请高手详细解答一下,万分感谢!
解决方案 »
- 是不是可以通过固定执行计划 强制查询不通过索引
- 关于hash分区表的问题
- 求 db2 和oracle 数据截取 方法
- [安装]Oracle10.2在Red Hat Enterprise Linux4 Update4 上的详细安装文档
- 查找一个表中是否有另一个表的字段的存储过程如何实现?
- 关于一个sql的写法
- select top n 问题
- 如何将一个字段分裂?
- saas平台中采用共享mysql数据库表,每个用户所占用的表空间大小该怎么监控,或该怎么才能计算出来?
- 求助诸位大神,ORACLE 如何将多张表中的列合并在一张表中。
- 一个时间格式的小问题
- 问一个SQLSERVER转到ORACLE的概念问题
select 'kill -9 ' || d.spid, c.object_name,a.USERNAME,a.OSUSER,a.MACHINE, a.STATUS,'ALTER SYSTEM KILL SESSION '''||a.sid||','||a.SERIAL#||''';'
from v$session a ,v$locked_object b,dba_objects c,v$process d
where a.SID = b.SESSION_ID
and b.OBJECT_ID = c.object_id
and a.paddr=d.addr
and c.object_name='表名'
DML语句不会锁表的,DML语句只锁行,而DDL才会锁表.
看看是那个进程所了你要用的表
然后:alter system kill session 'sid,serial#' 杀掉会话即可。
出现ORA-01031: insufficient privileges的错误
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;
解锁
alter system kill session 'sid,serial#';
不好意思,上面写错了
DML语句不会锁表的,DML语句只锁行,而DDL才会锁表.
===========================================================================
DML语句有时也回锁表的.