数据库被锁表解锁方法(数据库锁表的处理办法)
数据库被锁表解锁方法(数据库锁表的处理办法)declare @spid int解锁:from sys.dm_tran_locks where resource_type='OBJECT'spid 锁表进程tableName 被锁表名
小编在开发的时候,遇到了数据库锁表的情况,找了好久才找到解决办法,下面是我找的处理oracle数据库和sql server数据库锁表的方法。
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;
希望对大家有用哈。