怎么查看oracle的表死锁,怎么查看哪张表死锁

# Lines of Text

---------------

10

text

----

/* Sccsid = " generic/sproc/  " */

/*        4.8        1.1        06/14/90        sproc/src/lock */

/*

** Messages for "sp_lock"

**

** 18052, "The class column will display the cursor name for locks associated

**         with a cursor for the current user and the cu

rsor id for other

**         users."

*/

create procedure p_lock

@spid1 int = NULL,                /* server process id to check for locks */

@spid2 int = NULL                /* other process id to check for locks */

as

declare @length int

declare @msg varch

ar(250)

if @@trancount = 0

begin

set chained off

end

set transaction isolation level 1

/*  Print warning message about cursor lock info:

**  18052, "The class column will display the cursor name for locks associated

**

with a cursor for the current user and the cursor id for other

**          users."

*/

exec sp_getmessage 18052, @msg out

print @msg

/*

**  Show the locks for both parameters.

*/

if @spid1 is not NULL

begin

select @length = ma

x(datalength(db_name(dbid)))

from master..syslocks

where spid in (@spid1, @spid2)

if (@length > 15)

select spid, locktype =v. name, table_name = n.name , page,

dbname = db_name(dbid), class

from master..syslocks l, master..spt_va

lues v, maindb.. sysobjects n

where l.type = v.number

and v.type = "L"

and n.id = l.id

and spid in (@spid1, @spid2)

else

select spid, locktype = v.name, table_name = n.name,  page,

dbname = convert(char(15), db_name(dbid))

, class

from master..syslocks l, master..spt_values v, maindb.. sysobjects n

where l.type = v.number

and v.type = "L"

and n.id = l.id

and spid in (@spid1, @spid2)

end

/*

**  No parameters, so show all the locks.

*/

else

begin

select @length = max(datalength(db_name(dbid)))

from master..syslocks

if (@length > 15)

select spid, locktype = v.name, table_name = n.name, page,

dbname = db_name(dbid), class

from master..syslocks l, master..spt_valu

es v, maindb.. sysobjects n

where l.type = v.number

and n.id = l.id

and v.type = "L"

order by spid, dbname, table_name , locktype, page

else

select spid, locktype =v. name, table_name =n.name, page,

dbname = convert(char(15),

db_name(dbid)), class

from master..syslocks l, master..spt_values v, maindb.. sysobjects n

where l.type = v.number

and v.type = "L"

and n.id = l.id

order by spid, dbname, table_name, locktype, page

end

return (0)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值