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
相关推荐
武子康5 小时前
Java-109 深入浅出 MySQL MHA主从故障切换机制详解 高可用终极方案
java·数据库·后端·mysql·性能优化·架构·系统架构
专注API从业者7 小时前
基于 Node.js 的淘宝 API 接口开发:快速构建异步数据采集服务
大数据·前端·数据库·数据挖掘·node.js
前端无冕之王7 小时前
一份兼容多端的HTML邮件模板实践与详解
前端·css·数据库·html
这周也會开心8 小时前
SQL-重要常见关键字
数据库·sql
超级无敌永恒暴龙战士8 小时前
MySQL-delete tableName from ...
数据库·mysql
叫我阿柒啊9 小时前
Java全栈开发工程师的面试实战:从基础到微服务
java·数据库·spring boot·微服务·node.js·vue3·全栈开发
客家族_Shark曾_小凡仙10 小时前
关于国产 RAC 和分布式研讨
oracle·国产数据库
郭俊强12 小时前
nestjs 连接redis
数据库·redis·缓存
海边捡石子12 小时前
postgress数据迁移gaussdb注意事项
数据库
chen_note12 小时前
Redis数据持久化——RDB快照和Aof日志追加
java·数据库·mybatis·持久化·aof·rdb