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
相关推荐
ClouGence7 小时前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
飞将9 小时前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils1 天前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波1 天前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
倔强的石头_2 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
倔强的石头_5 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
冬奇Lab6 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence6 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神6 天前
三、用户与权限管理
数据库·mysql
麦聪聊数据7 天前
数据服务化时代:企业数据能力输出的核心路径
数据库