- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何快速的杀掉Oracle的Session
一、问题的提出很多的时候我们迅速的杀掉Oralcle的一些session,理由大体如下:1、 一些时候,由于我们的数据量很大,相应的事务大并且多,在做shutdown immediate的时候会花费好多的时间,而我们却想用shutdown immediate的方式,而又要把数据库迅速的shutdown下来。2、 我们的应用可能使用了会话控制,即在应用的层面控制了一些用户的连接的数量。但有时可能网络发生的瞬断,从而就产生了一些死进程,他们的状态为 Inactive的状态。当我们用alter system kill session ‘sid,serial#’进行清除时,这些session的状态又变成了killed,这些就由Pmon进程来慢慢进行清除了,而你恰恰又是个急脾气。3、 系统忽然慢了现来,你发现是某个session在做怪,想迅速把它迅速结束掉。二、处理方法其实处理方法很简单,是被一些人称为“谋杀”的一种方法。因为一个session会对应着操作系统中相应的一个进程(process),我们不使用 Alter system kill session这种方式了,取而代之则是kill的方式,当session的后台进程被杀掉了,便会促使懒散的Pmon进程迅速进行清理工作。1、 以一个session做以示例,a、 找到你要杀掉的那个session, 并记下paddrb、 找到这个session所对应的spidc、 杀掉spid所标识的那个进程♀如果你的Oracle是在Unix平台上的,可以用kill。??? $kill 13824♀如果你的Oracle是在windown平台上的,有一些的不同,因为windown是以thead来代替process的,需要用到sid和spid两个值,所用的命令也由kill替换为Orakill,格式为:orakill sid spid?????? C:\orakill 941 13824d、 再查一下v$session,看会话在不在了。
2、 如何谋杀掉所有的Oracle的用户的进程呢?
a、windows的环境,执行如下图中的SQL,并把结果存成.bat的文件,比如kill.bat, 执行一下kill.bat就可以了。
select orakill ||sid|| ||spid as thread from
sys.v_$process p, sys.v_$session s
where sid 6 and
p.addr = s.paddr ;
b、 Unix的环境相对来说就简单多了,执行如下的命令就可以了
$ ps -ef|grep $ORACLE_SID|grep -v ora_|grep LOCAL=NO|awk {print $2}|xargs kill
然后你再shutdown immediate就很快的了。
有一些死锁进程,异常退出后用
alter system kill session sid, serial#;无法释放会话
可从操作系统直接处理。
---------------------------oracle查找并杀掉锁表及对象的session及相关系统进程-------------------------
一、处理过程??? 1.通过查找出已被锁定的数据库表及相关的sid、serial#及spid:
???? select object_name as 对象名称,s.sid,s.serial#,p.spid as 系统进程号???? from v$locked_object l , dba_objects o , v$session s , v$process p???? where l.object_id=o.object_id and l.session_id=s.sid and s.paddr=p.addr;
???? 2.在数据库中灭掉相关session:
????alter system kill session sid,serial#;
??? --sid及serial#为第一步查出来的数据
???? 3.从系统中灭掉与该session对应的进程:
????kill -9 spid;
??? --spid为第一步中查出来的系统进程号
??? 经过以上操作之后重新对之前锁定的对象进行操作应该就可以了。
二、使用了相关表的基本介绍
? V$LOCKED_OBJECT中的列说明:XIDUSN:回滚段号XIDSLOT:槽号XIDSQN:序列号OBJECT_ID:被锁对象IDSESSION_ID:持有锁的sessionIDORACLE_USERNAME:持有锁的Oracle 用户名OS_USER_NAME:持有锁的操作系统 用户
您可能关注的文档
- 2012年高考英语试题(湖北卷)解析.doc
- 工业计算机作业.doc
- 译林版初三第一学期12月份英语试卷及答案.doc
- Struts1考题.doc
- 2009黑龙江省哈尔滨市中考英语升学题.doc
- 音乐术语复习题.doc
- 9年级Unit4单元检测题.doc
- useradd命令使用方法.docx
- 华为ar28-31命令全集.docx
- 2008-3-10_GPRS几种状态的分析.doc
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
文档评论(0)