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
相关推荐
一只自律的鸡2 小时前
【MySQL】第七章 数据库, 表, 数据的增删改查
数据库·oracle
PythonFun2 小时前
WPS单元格中如何分别设置中英字体为不同字号
数据库·mysql·wps
GISer_Jing2 小时前
大语言模型Agent入门指南
前端·数据库·人工智能
Mikhail_G2 小时前
Mysql数据库操作指南——数据库(零基础篇)
大数据·数据库·sql·mysql·数据分析
沉淅尘2 小时前
Context Engineering: 优化大语言模型性能的关键策略与艺术
数据库·人工智能·语言模型
重生之绝世牛码2 小时前
Linux软件安装 —— Elasticsearch集群安装(带密码验证)
大数据·linux·运维·数据库·elasticsearch·软件安装
敲敲千反田2 小时前
redis哨兵和缓存
数据库·redis·缓存
独泪了无痕2 小时前
SQL数据类型转换:CAST详解及实践
数据库·sql·oracle
知识分享小能手2 小时前
Oracle 19c入门学习教程,从入门到精通,Oracle 用户管理与权限分配 —— 语法详解与实战案例(13)
数据库·学习·oracle
DarkAthena2 小时前
【GaussDB】GaussDB506版本A模式中的date类型
数据库·gaussdb