【Sqlserver】各種資料庫的鎖表和解鎖操作
阿新 • • 發佈:2019-02-08
SqlServer 查詢被鎖住的表和解鎖表
--1.檢視被鎖表SELECT request_session_id as spid,OBJECT_NAME(resource_associated_entity_id) as tableName FROM sys.dm_tran_locks WHERE resource_type='OBJECT'
--spid 鎖表程序 ;tableName 被鎖表名
--2.解鎖
declare @spid int Set @spid = 被鎖表的程序號 declare @sql varchar(1000) set @sql='kill '+cast(@spid as varchar) exec(@sql)
Oracle 查詢被鎖住的表和解鎖表
--1.鎖表查詢的程式碼有以下的形式:SELECT count(*) FROM v$locked_object;
SELECT * FROM v$locked_object;
--2.檢視哪個表被鎖
SELECT b.owner,b.object_name,a.session_id,a.locked_mode FROM v$locked_object a,dba_objects b WHERE b.object_id = a.object_id;
--3.檢視是哪個session引起的
SELECT b.username,b.sid,b.serial#,logon_time FROM v$locked_object a,v$session b WHERE a.session_id = b.sid order by b.logon_time;
--4.殺掉對應程序
alter system kill session'1025,41';
--其中1025為sid,41為serial#.