新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > 数据库 > Oracle教程 > 正文:教你快速掌握Oracle中“Kill“进程的方法

教你快速掌握Oracle中“Kill“进程的方法

新客网 XKER.COM 2008-02-02 来源:赛迪网 John 收藏本文

1:首先,我们需要在Oracle中找到锁住的对象:

select xidusn, object_id, session_id, locked_mode from v$locked_object;

2:得到session_id后,再根据session_id找到v$session对应的sid号和serial#:

select username,sid,serial# from v$session where sid=session_id;

3:用oracle的slq kill掉相关的session sql语句:

alter system kill session 'sid,serial#';

4:假如不能kill掉,报ora-00031错:说明之前有kill过,这样找到这个进程spid slq语句:

select pro.spid from v$session ses,
v$process pro where ses.sid=129 and ses.paddr=pro.addr;

5:根据这个spid对应linux下的进程pid

linux命令:

ps -ef | gre | 'ora' (找到所有ora开头的进程)

kill -9 (pid)

下面主要介绍假如这个进程是Killed状态的时候该怎么处理:

首先介绍三个视图:v$process是ORACLE处理的进程,v$session是ORACLE处理的会话,v$sqlarea是Oracle处理的SQL语句存放区就是共享池那东西。三个表联合查一下。

SELECT P.pid,S.sid,s.serial#,P.spid,S.username,S.osuser,
P.serial#,P.terminal,P.program,P.background,S.status,
A.sql_text 
FROM v$process P, v$session S,v$sqlarea A WHERE 
P.addr = s.paddr AND S.sql_address = a.address ( ) order by P.spid;

这里面查出来的就是Oracle实时正在处理的SQL语句过程等。当然还包含基本的(PMON)(DBW0)(LGWR)等后台进程。有时候大家在编译时,会发生怎么都编译不过去的现象,其实过程是好着的.这就是Oracle出现了死锁。死锁了肯定是锁最后一个会话,那就是你编译的那个.这时候大家有可以要重新SHUTDOWN IMMEDIATE才行解决问题.其实运行上面的语句再配合下面的就可以了。

在Oracle数据库中,可以通过kill session的方式来终止一个进程,alter system kill session 'sid,serial#' ;这里sid,serial#就是上面的v$session.sid,v$session.serial#这二值,多运行几次上面的SELECT语句就可以查出你被锁住的那个过程.其它不明的不能通杀了.这里要害就是要查出你要杀的v$session.sid,v$session.serial#二个值.然后做alter system kill session 'sid,serial#' ;做完以后.你的客户端一般就直接提示SESSION KILLED.但也有不提示没反映.再运行SELECT语句,发现v$session.status为KILLED.再等待还是一样.

从书上查知被kill掉的session,状态会被标记为killed,Oracle会在该用户下一次touch时清除该进程.Oracle就等待PMON去清除这些Session.通常等待一个被标记为Killed的Session退出需要花费很长的时间.但我从来都没等及过.这不又白杀了.没关系,用必杀招,在LINUX下杀.你用SELECT查出来的时候还有一个v$process.spid列.在LIUNX的$下运行TOP.[/img]你知发现了原来这一列的值,就是TOP下的PID值.那这样好办了.直接在LIUNX的$下 KILL -9 v$process.spid 这个值是要你在SELECT下要记录下的.好了.这就必杀了.过程编译不过去,肯定是有会话地运行.

共2页: 上一页 [1] [2] 下一页
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐