电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Oracle中Kill session的研究

瀏覽:3日期:2023-11-17 16:05:25
Oracle中Kill session的研究 作者: Eygle link: http://www.eygle.com/faq/Kill_Session.htm 我們知道,在Oracle數(shù)據(jù)庫(kù)中,可以通過(guò)kill session的方式來(lái)終止一個(gè)進(jìn)程,其基本語(yǔ)法結(jié)構(gòu)為: alter system kill session 'sid,serial#' ; 被kill掉的session,狀態(tài)會(huì)被標(biāo)記為killed,Oracle會(huì)在該用戶下一次toUCh時(shí)清除該進(jìn)程. 我們發(fā)現(xiàn)當(dāng)一個(gè)session被kill掉以后,該session的paddr被修改,假如有多個(gè)session被kill,那么多個(gè)session的paddr都被更改為相同的進(jìn)程地址: SQL> select saddr,sid,serial#,paddr,username,status from v$session where username is not null;SADDRSID;SERIAL# PADDR;USERNAME;;;;STATUS-------- ---------- ---------- -------- ------------------------------ --------542E0E6C 11;;;;;314 542B70E8 EYGLE; INACTIVE542E5044 18;;;;;662 542B6D38 SYS;ACTIVESQL> alter system kill session '11,314';System altered.SQL> select saddr,sid,serial#,paddr,username,status from v$session where username is not null;SADDRSID;SERIAL# PADDR;USERNAME;;;;STATUS-------- ---------- ---------- -------- ------------------------------ --------542E0E6C 11;;;;;314 542D6BD4 EYGLE; KILLED542E5044 18;;;;;662 542B6D38 SYS;ACTIVESQL> select saddr,sid,serial#,paddr,username,status from v$session where username is not null;SADDRSID;SERIAL# PADDR;USERNAME;;;;STATUS-------- ---------- ---------- -------- ------------------------------ --------542E0E6C 11;;;;;314 542D6BD4 EYGLE; KILLED542E2AA4 14;;;;;397 542B7498 EQSPINACTIVE542E5044 18;;;;;662 542B6D38 SYS;ACTIVESQL> alter system kill session '14,397';System altered.SQL> select saddr,sid,serial#,paddr,username,status from v$session where username is not null;SADDRSID;SERIAL# PADDR;USERNAME;;;;STATUS-------- ---------- ---------- -------- ------------------------------ --------542E0E6C 11;;;;;314 542D6BD4 EYGLE; KILLED542E2AA4 14;;;;;397 542D6BD4 EQSPKILLED542E5044 18;;;;;662 542B6D38 SYS;ACTIVE 在這種情況下,很多時(shí)候,資源是無(wú)法釋放的,我們需要查詢spid,在操作系統(tǒng)級(jí)來(lái)kill這些進(jìn)程. 但是由于此時(shí)v$session.paddr已經(jīng)改變,我們無(wú)法通過(guò)v$session和v$process關(guān)聯(lián)來(lái)獲得spid 那還可以怎么辦呢? 我們來(lái)看一下下面的查詢: SQL> SELECT s.username,s.status,; 2; x.ADDR,x.KSLLAPSC,x.KSLLAPSN,x.KSLLASPO,x.KSLLID1R,x.KSLLRTYP,; 3; decode(bitand (x.ksuprflg,2),0,null,1); 4; FROM x$ksupr x,v$session s; 5; WHERE s.paddr(+)=x.addr; 6; and bitand(ksspaflg,1)! =0;USERNAME;;;;STATUSADDR;;;;KSLLAPSCKSLLAPSN KSLLASPO;;;;KSLLID1R KS D------------------------------ -------- -------- ---------- ---------- ------------ ---------- -- -;;;;;542B44A8; 0; 0;;;;0;;;;ACTIVE542B4858; 1 14 24069 0;1;;;;ACTIVE542B4C08 26 16 15901 0;1;;;;ACTIVE542B4FB8; 7 46 24083 0;1;;;;ACTIVE542B5368 12 15 24081 0;1;;;;ACTIVE542B5718 15 46 24083;; ;;;;0;1;;;;ACTIVE542B5AC8 79; 4 15923 0;1;;;;ACTIVE542B5E78 50 16 24085 0;1;;;;ACTIVE542B6228;;;;;754 15 24081 0;1;;;;ACTIVE542B65D8; 1 14 24069 0;1;;;;ACTIVE542B6988; 2 30 14571 0;1USERNAME;;;;STATUSADDR;;;;KSLLAPSCKSLLAPSN KSLLASPO;;;;KSLLID1R KS D------------------------------ -------- -------- ---------- ---------- ------------ ---------- -- -SYS;ACTIVE542B6D38; 2; 8 24071;;; ;;;0;;;;;542B70E8; 1 15 24081;;;;195 EV;;;;;542B7498; 1 15 24081;;;;195 EVSYS;INACTIVE 542B7848; 0; 0;;;;0SYS;INACTIVE 542B7BF8; 1 15 24081;;;;195 EV16 rows selected. 我們注重,紅字標(biāo)出的部分就是被Kill掉的進(jìn)程的進(jìn)程地址. 簡(jiǎn)化一點(diǎn),其實(shí)就是如下概念: SQL> select p.addr from v$process p where pid <> 1 2 minus 3 select s.paddr from v$session s; ADDR--------542B70E8542B7498 Ok,現(xiàn)在我們獲得了進(jìn)程地址,就可以在v$process中找到spid,然后可以使用Kill或者orakill在系統(tǒng)級(jí)來(lái)殺掉這些進(jìn)程. 實(shí)際上,我猜測(cè): 當(dāng)在Oracle中kill session以后, Oracle只是簡(jiǎn)單的把相關(guān)session的paddr 指向同一個(gè)虛擬地址. 此時(shí)v$process和v$session失去關(guān)聯(lián),進(jìn)程就此中斷. 然后Oracle就等待PMON去清除這些Session.所以通常等待一個(gè)被標(biāo)記為Killed的Session退出需要花費(fèi)很長(zhǎng)的時(shí)間. 假如此時(shí)被Kill的process,重新嘗試執(zhí)行任務(wù),那么馬上會(huì)收到進(jìn)程中斷的提示,process退出,此時(shí)Oracle會(huì)立即啟動(dòng)PMON來(lái)清除該session.這被作為一次異常中斷處理. 2004年6月25日 星期五 If you have any question,please mail to eygle@itpub.net .
主站蜘蛛池模板: 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 等离子表面处理机-等离子表面活化机-真空等离子清洗机-深圳市东信高科自动化设备有限公司 | 深圳市八百通智能技术有限公司官方网站 | 灌装封尾机_胶水灌装机_软管灌装封尾机_无锡和博自动化机械制造有限公司 | 涡街流量计_LUGB智能管道式高温防爆蒸汽温压补偿计量表-江苏凯铭仪表有限公司 | cnc精密加工_数控机械加工_非标平键定制生产厂家_扬州沃佳机械有限公司 | 耐高温风管_耐高温软管_食品级软管_吸尘管_钢丝软管_卫生级软管_塑料波纹管-东莞市鑫翔宇软管有限公司 | MOOG伺服阀维修,ATOS比例流量阀维修,伺服阀维修-上海纽顿液压设备有限公司 | 行业分析:提及郑州火车站附近真有 特殊按摩 ?2025实地踩坑指南 新手如何避坑不踩雷 | 聚氨酯催化剂K15,延迟催化剂SA-1,叔胺延迟催化剂,DBU,二甲基哌嗪,催化剂TMR-2,-聚氨酯催化剂生产厂家 | 济南电缆桥架|山东桥架-济南航丰实业有限公司 | 金联宇电缆总代理-金联宇集团-广东金联宇电缆实业有限公司 | 薪动-人力资源公司-灵活用工薪资代发-费用结算-残保金优化-北京秒付科技有限公司 | 除尘器布袋骨架,除尘器滤袋,除尘器骨架,电磁脉冲阀膜片,卸灰阀,螺旋输送机-泊头市天润环保机械设备有限公司 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 空气能采暖,热泵烘干机,空气源热水机组|设备|厂家,东莞高温热泵_正旭新能源 | 无线讲解器-导游讲解器-自助讲解器-分区讲解系统 品牌生产厂家[鹰米讲解-合肥市徽马信息科技有限公司] | 手表腕表维修保养鉴定售后服务中心网点 - 名表维修保养 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 | 测试治具|过炉治具|过锡炉治具|工装夹具|测试夹具|允睿自动化设备 | 福州仿石漆加盟_福建仿石漆厂家-外墙仿石漆加盟推荐铁壁金钢(福建)新材料科技有限公司有保障 | 步进_伺服_行星减速机,微型直流电机,大功率直流电机-淄博冠意传动机械 | 粤丰硕水性环氧地坪漆-防静电自流平厂家-环保地坪涂料代理 | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-北京罗伦过滤技术集团有限公司 | 水冷式工业冷水机组_风冷式工业冷水机_水冷螺杆冷冻机组-深圳市普威机械设备有限公司 | 二手回收公司_销毁处理公司_设备回收公司-找回收信息网 | 齿轮减速机_齿轮减速电机-VEMT蜗轮蜗杆减速机马达生产厂家瓦玛特传动瑞环机电 | 玉米深加工设备-玉米深加工机械-新型玉米工机械生产厂家-河南粮院机械制造有限公司 | 佛山市德信昌电子有限公司 | 水质监测站_水质在线分析仪_水质自动监测系统_多参数水质在线监测仪_水质传感器-山东万象环境科技有限公司 | 包塑丝_高铁绑丝_地暖绑丝_涂塑丝_塑料皮铁丝_河北创筹金属丝网制品有限公司 | 广东风淋室_广东风淋室厂家_广东风淋室价格_广州开源_传递窗_FFU-广州开源净化科技有限公司 | 青岛球场围网,青岛车间隔离网,青岛机器人围栏,青岛水源地围网,青岛围网,青岛隔离栅-青岛晟腾金属制品有限公司 | 液压中心架,数控中心架,自定心中心架-烟台恒阳机电设计有限公司 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 密集架-手摇-智能-移动-价格_内蒙古档案密集架生产厂家 | 铝合金风口-玻璃钢轴流风机-玻璃钢屋顶风机-德州东润空调设备有限公司 | 东莞精密模具加工,精密连接器模具零件,自動機零件,冶工具加工-益久精密 | 一级建造师培训_一建培训机构_中建云筑建造师培训网校 | AR开发公司_AR增强现实_AR工业_AR巡检|上海集英科技 | ◆大型吹塑加工|吹塑加工|吹塑代加工|吹塑加工厂|吹塑设备|滚塑加工|滚塑代加工-莱力奇塑业有限公司 | 自清洗过滤器_全自动过滤器_全自动反冲洗过滤器_量子过滤器-滑漮滴 |