快捷搜索:  汽车  科技

数据库被锁表解锁方法(数据库锁表的处理办法)

数据库被锁表解锁方法(数据库锁表的处理办法)declare @spid int解锁:from sys.dm_tran_locks where resource_type='OBJECT'spid 锁表进程tableName 被锁表名

小编在开发的时候,遇到了数据库锁表的情况,找了好久才找到解决办法,下面是我找的处理oracle数据库和sql server数据库锁表的方法。

数据库被锁表解锁方法(数据库锁表的处理办法)(1)

数据库被锁表解锁方法(数据库锁表的处理办法)(2)


sql server

查看被锁表:

select request_session_id spid OBJECT_NAME(resource_associated_entity_id) tableName

from sys.dm_tran_locks where resource_type='OBJECT'

spid 锁表进程

tableName 被锁表名

解锁:

declare @spid int

Set @spid = 57 --锁表进程

declare @sql varchar(1000)

set @sql='kill ' cast(@spid as varchar)

exec(@sql)


oracle

select object_name as 对象名称 s.sid s.serial# p.spid as 系统进程号

'alter system kill session '''||s.sid||' '||s.serial#||''';' updSql

from v$locked_object l dba_objects o v$session s v$process p

where l.object_id=o.object_id and l.session_id=s.sid and s.paddr=p.addr;


希望对大家有用哈。

猜您喜欢: