oracle停止当前运行的JOB或kill会话

在Oracle中,可以使用DBA_SCHEDULER_JOBS视图来查找当前正在运行的作业(job),并使用DBMS_SCHEDULER.STOP_JOB过程来停止它们

sql 复制代码
SELECT JOB_NAME, STATE FROM DBA_SCHEDULER_JOBS WHERE STATE = 'RUNNING';
SELECT *  FROM DBA_SCHEDULER_JOBS WHERE STATE = 'RUNNING' and owner='ATLAS';

上面的SQL查询会列出所有当前状态为RUNNING的作业,即正在运行的作业。

要停止这些作业,可以编写一个PL/SQL块来遍历这些作业并停止它们

sql 复制代码
DECLARE
  CURSOR running_jobs IS
    SELECT JOB_NAME
    FROM DBA_SCHEDULER_JOBS
    WHERE STATE = 'RUNNING' and owner='ATLAS';
 
  v_job_name VARCHAR2(200);
BEGIN
  OPEN running_jobs;
  LOOP
    FETCH running_jobs INTO v_job_name;
    EXIT WHEN running_jobs%NOTFOUND;
    DBMS_SCHEDULER.STOP_JOB(v_job_name);
  END LOOP;
  CLOSE running_jobs;
END;
/

或者kill会话

sql 复制代码
select 'alter system kill session '''||sid||','||serial#||''';' from gv$session where machine like'WIN-%' and  inst_id=1
union all
select 'alter system kill session '''||sid||','||serial#||''';'from gv$session where machine ='frdb1' and schemaname ='ATLAS'

vi kill_s.sql

@kill_s.sql
相关推荐
OceanSky624 分钟前
Mybatis中sql数组为空判断
数据库·sql·mybatis·数组判空
Data 31734 分钟前
经典sql题(七)查找直播间最大在线人数
大数据·数据库·数据仓库·sql
小怪兽ysl41 分钟前
【GBase 8c V5_3.0.0 分布式数据库常用几个SQL】
数据库·postgresql
dwjf3211 小时前
图数据库 neo4j 安装
数据库·neo4j
fengqing55781 小时前
mysql把某一个字段的值中的aa,替换成bb
数据库·mysql
Python大数据分析@2 小时前
一般在写SQL时需要注意哪些问题,可以提高查询的效率?
数据库
DYS_000012 小时前
阿里短信服务+Redis创建定时缓存
数据库·redis·缓存
GG编程3 小时前
Mysql 视图&存储过程&触发器
数据库·mysql
这孩子叫逆3 小时前
25. MyBatis中的RowBounds是什么?如何实现内存分页?
数据库·mybatis
cyt涛3 小时前
MyBatis之手动映射
xml·数据库·mybatis·查询·resultmap·手动映射