oracle锁表
使用语句:alter session enable parallel dml;会锁表,只能执行一个窗口中的sql语句,想执行update、delete、insert操作的其它session_id只能等待,小心使用
1). 查找出被锁的表
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;
或者:
select ls.osuser os_user_name, ls.username user_name, ls.type lock_type, o.object_name object, decode(ls.lmode,1,null,2,'Row Share',3,'Row Exclusive',4,'Share',5,'Share Row Exclusive',6,'Exclusive',null) lock_mode, o.owner, ls.sid, ls.serial# serial_num, ls.id1,ls.id2, ls.paddr, ls.machine from sys.dba_objects o, (select s.osuser,s.username,l.type,s.paddr,l.lmode,s.sid,s.serial#,l.id1,l.id2,s.MACHINE from v$session s,v$lock l where s.sid=l.sid) ls where o.object_id=ls.id1 and o.owner<>'SYS' order by o.owner,o.object_name
2).查找session_id和spid
查找session_id:
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;
查找spid:
select a.spid,a.username,b.program from v$process a,v$session b where a.addr=b.paddr and a.addr='000007FF2DC8E578';
3). 杀进程中的会话和进程id
#掉进程 sid,serial#
alter system kill session "sid,serial#"; orakill sid spid;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?