各種數據庫的鎖表和解鎖操作


 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#.

 

MySQL查詢被鎖住的表和解鎖表

查看鎖表語句
show OPEN TABLES where In_use > 0;

找到鎖表的進程
show processlist;

刪除鎖表進程
kill 123;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM