查看索赔信息
select
t1.ORACLE_USERNAME,
t1.OS_USER_NAME,
t2.OWNER,
t2.OBJECT_TYPE,
t2.OBJECT_NAME,
t2.status,
t3.SID,
t3.SERIAL#,
t4.PID,
t4.SPID
from v
l
o
c
k
e
d
o
b
j
e
c
t
t
1
,
d
b
a
o
b
j
e
c
t
s
t
2
,
v
locked_object t1, dba_objects t2, v
lockedobjectt1,dbaobjectst2,vsession t3, v$process t4
where t1.OBJECT_ID = t2.object_id
and t1.SESSION_ID = t3.SID
and t3.PADDR = t4.ADDR
and object_name like tablename
其中 tablename 换成需要查询的表名
可通过下列语句直接构造出处理语句
select ‘alter system kill session ‘’’||t3.SID||‘,’||t3.SERIAL#||‘’‘;’
from v
l
o
c
k
e
d
o
b
j
e
c
t
t
1
,
d
b
a
o
b
j
e
c
t
s
t
2
,
v
locked_object t1, dba_objects t2, v
lockedobjectt1,dbaobjectst2,vsession t3, v$process t4
where t1.OBJECT_ID = t2.object_id
and t1.SESSION_ID = t3.SID
and t3.PADDR = t4.ADDR
删除锁表
alter system kill session ‘sid,serial’
sid serial为上步查询到的结构
如上述还不好用 可使用大招
orakill
在windows 用orakill杀死线程,orakill是oracle提供的一个可执行命令,语法为:orakill sid thread
其中:
sid:表示要杀死的进程属于的实例名
thread:是要杀掉的线程号,即第3步查询出的spid。
例:c:>orakill orcl 12345