定位Oracle kill命令未实际中断的Session/Process

原创 2011年01月19日 09:50:00

我们经常会遇到在Oracle中执行某条命令或存储过程,执行时间比预想的要长很多,才发现是自己的失误,想要中止执行的语句或者存储过程,一般的前台开发工具都支持这种Cancel功能,但是不是总能顺利的完成,最近遇到一次:

 

有个兄弟找我说,有个存储过程好像被锁定了,是在执行的时候发现错误,强行中止,但却无法再打开存储过程进入编译状态,我们用的是share server模式,以前有遇到类似的情况,一般通过查询v$access可以确定sid,再找到v$session进行alter system kill,但是多数时候这是没有办法成功的,session只是被标记成KILLED状态,其实后台的进程还在执行,如果你开始没有注意你kill的session的process信息,你此时可能会手足无措,因为被标记为KILLED状态的session已经不再对应kill前的pid了,所以你想用操作系统的kill命令可能都找不到对象,最后,在v$shared_server中找到了线索,s003一直处于EXEC状态,其对应的pid也没有找到相应的session,而且我们的OLTP系统一般是不会执行长操作的,所以定位到s003,于是到操作系统中使用kill -9 pid命令,问题解决。

 

以上个人经历分享,给大家参考。

oracle查看已经kill掉了session,但没有被kill的process

select * from v$process p where p.ADDR not in (select b.paddr from v$bgprocess b)   and p.ADDR not i...
  • fycghy0803
  • fycghy0803
  • 2013年11月20日 16:28
  • 776

oracle kill session.delete 600w(1.25G)数据 1个多小时无结果

mx表中数据太多,查询变慢,备份去年2011年的,然后将2011年数据删掉。  delete from t_busi_presend_mx where cjsj 这个语句,执行1个多小时了,没有反...
  • wanglilin
  • wanglilin
  • 2012年01月09日 15:27
  • 2229

Oracle Kill 进程

参考:http://space.itpub.net/339291/viewspace-269176 1、查看基本状态:select * from v$session; select * from v$...
  • bayaci
  • bayaci
  • 2010年10月29日 17:37
  • 3216

关于oracle被锁kill_session问题

开锁select object_id,session_id,locked_mode from v$locked_object;--查看数据库锁 select b.OWNER ,b.OBJECT_NAM...
  • tlcjbl
  • tlcjbl
  • 2016年09月27日 11:16
  • 891

关于oracle的锁表解决session marked for kill

1.查询哪些对象被锁:     select object_name,machine,s.sid,s.serial#     from v$locked_object l,dba_objects ...
  • wxlbrxhb
  • wxlbrxhb
  • 2014年09月06日 11:58
  • 1489

【转】ORACLE快速彻底Kill掉的会话

在ORACLE数据库当中,有时候会使用ALTER SYSTEM KILL SESSION 'sid,serial#'杀掉一个会话进程,但是使用这个SQL语句杀掉会话后,数据库并不会立即释放掉相关的资源...
  • shcqupc
  • shcqupc
  • 2016年03月14日 20:55
  • 580

Oracle的session和process的区别与分析

session 和 process的区别:连接connects,会话sessions和进程pocesses的关系每个sql login称为一个连接(connection),而每个连接,可以产生一个或多...
  • cunxiyuan108
  • cunxiyuan108
  • 2010年08月13日 01:53
  • 7143

oracle process和session

session  是通讯双方从开始通讯到结束期间的一个上下文。这个上下文位于服务端的内存,记录了本次连接的客户机器,哪个应用程序,哪个用户等 session和connection同时建立,两者是一件事...
  • jc_benben
  • jc_benben
  • 2017年04月21日 11:26
  • 641

Oracle 批量解除锁定,kill session。

拼接语句:SELECT 'alter system kill session '''||SID || ',' || SERIAL#||''';' FROM V$SESSION WHERE S...
  • yuanboshe
  • yuanboshe
  • 2011年04月22日 17:14
  • 601

ORA-00031: session marked for kill 处理Oracle中杀不掉的锁

ORA-00031: session marked for kill 处理Oracle中杀不掉的锁2008-01-04 11:19 ...
  • terryhuang
  • terryhuang
  • 2008年07月07日 20:02
  • 26510
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:定位Oracle kill命令未实际中断的Session/Process
举报原因:
原因补充:

(最多只允许输入30个字)