oracle杀会话
1、概念oracleRAC集群死锁进程是针对对应实例的,查询的时候需要用到gv$全局试图
2、查询数据库中所有会话信息
1 2 3 4 5 6 | SQL> select saddr,sid,serial #,paddr,username,status from gv$session; SADDR SID SERIAL # PADDR USERNAME STATUS ---------------- ---------- ---------- ---------------- ------------------------------ -------- 000000025C233B00 27 33353 000000025F1D1FC8 ETL INACTIVE 000000025C23A608 37 11448 000000025F1D27B0 SYS ACTIVE 000000025C24BC50 63 54311 000000025F1D5F08 SYS ACTIVE |
3、发送结束会话的命令
1 | SQL> alter system kill session '27,33353' IMMEDIATE; |
4、再次查看会话状态 killd
1 2 3 4 5 | SQL> select saddr,sid,serial #,paddr,username,status from gv$session; SADDR SID SERIAL # PADDR USERNAME STATUS ---------------- ---------- ---------- ---------------- ------------------------------ -------- 000000025C233B00 27 33353 000000025C21A0B0 ETL KILLED |
如下所示,我杀掉了其中两个会话后,这两个会话的地址都变为000000025C21A0B0了(请见PADDR列)。当在Oracle中kill session以后, Oracle只是简单的把相关session的paddr 指向同一个虚拟地址.此时v$process和v$session失去关联,进程就此中断。 然后Oracle就等待PMON去清除这些Session.所以通常等待一个被标记为Killed的Session退出需要花费很长的时间. 如果此时被Kill的process,重新尝试执行任务,那么马上会收到进程中断的提示,process退出,此时Oracle会立即启动PMON 来清除该session.这被作为一次异常中断处理.
5、直接到实例所在的服务器杀掉对应的进程(快速结束会话)
1 | SQL> select spid from gv$process where addr in ( select paddr from gv$session where sid= '1539' ) |
------------------------------------------------总结------------------------------------------------------------------
1 2 3 4 5 6 | 1、找到需要 kill 的会话 select saddr,sid,serial #,paddr,username,status from gv$session; 2、结束会话 alter system kill session '27,33353' IMMEDIATE; 3、需要快速再找到进程,对应实例上去结束进程 kill -9 spid select spid from gv$process where addr in ( select paddr from gv$session where sid= '1539' ) |
做一个决定,并不难,难的是付诸行动,并且坚持到底。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2020-12-29 Jenkins2.272使用war方式部署,并按装常用插件