如何得知oracle执行任务的session?

xingxing3 2001-05-25 03:57:00
该任务执行一存储过程死循环,想要杀死该任务,,,
如何获知该任务的session?
...全文
96 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
guo 2001-05-26
  • 打赏
  • 举报
回复
你难道要kill oracle背景进程?
select sid,serial#,username from v$session where username is null;

alter system kill <sid>,<serial#>;
你要小心实例崩溃!
xingxing3 2001-05-26
  • 打赏
  • 举报
回复
因为这是个任务,是oracle自己执行的
所以:他的USERNAME是该任务的user还是sys,system?
MACHINE肯定是跑oracle的那台机了,
PROGRAM 是什么?

xingxing3 2001-05-26
  • 打赏
  • 举报
回复
忘了说
运行job的session状态都是'active’,
空闲的时候没有 USERNAME和USER#,
当该session有job运行的时候USERNAME和USER#才有值。。
xingxing3 2001-05-26
  • 打赏
  • 举报
回复
我哪敢kill SNP 呢?
仔细看了下oracle帮助,其实挺简单

1》select * from user_jobs (查找该任务的 job)
2》select * from dba_jobs_runing (查看1》中该job的sid)
sid是执行该任务的session标识
3》select * from V$session where sid= ' 2》中找出的sid '
4》alter system kill session 'sid,serial#'
(sid,serial#是3》中找出的)
这样就可以把一个正在运行的job杀死

呵呵,,问题没说清楚,各位多包涵。。。
jcq 2001-05-25
  • 打赏
  • 举报
回复
以DBA身份执行:
SELECT SID, SERIAL#, USERNAME, MACHINE FROM V$SESSION WHERE MACHINE = <the machine name> (或者USERNAME = <the username>

找到后, 执行一下语句KILL它:

ALTER SYSTEM KILL SESSION '<SID>, <SERIAL#>';

xingxing3 2001-05-25
  • 打赏
  • 举报
回复
这样就是正确的吗?
那么有2个任务同时执行呢?

可以加分!(在哪里加?)
flyfk961 2001-05-25
  • 打赏
  • 举报
回复
通过查询v$session表,status字段表示状态
guostong 2001-05-25
  • 打赏
  • 举报
回复
select SID,SERIAL#,USERNAME,status from v$session
where status = 'ACTIVE' AND USERNAME = 'YOURNAME'

得到 SID,SERIAL# 后

ALTER SYSTEM KILL SESSION SID,SERIAL#;
王释之 2001-05-25
  • 打赏
  • 举报
回复

dba:select sid,serial# from v$session;

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧