Oracle job 管理(转载)

使用Oracle中的作业(Job)管理MySQL数据库 通过使用Oracle数据库中的作业调度功能,我们可以管理MySQL数据库中的任务。在本文中,我们讨论了如何在Oracle数据库中创建MySQL作业,并演示了一些常见的作业管理操作。虽然Oracle数据库是一种关系型数据库管理系统(RDBMS),但是我们可以通过使用Oracle的作业调度功能来执行MySQL数据库中的任务。在本文中,我们将探讨如何在Oracle数据库中创建和管理作业,以执行MySQL数据库中的任务。参数中,我们编写了一个匿名的PL/SQL块,其中包含执行MySQL查询的语句。 阅读详情
Oracle job 管理
 

 

SVRMGR> select * from dba_jobs;

初始化相关参数job_queue_processes
alter system set job_queue_processes=39 scope=spfile;//最大值不能超过1000  ;job_queue_interval = 10  //调度作业刷新频率秒为单位
DBA_JOBS describes all jobs in the database.
USER_JOBS describes all jobs owned by the current user

1  select job,what,to_char(last_date,'yyyy-mm-dd HH24:mi:ss'),to_char(next_date,'yyyy-mm-dd HH24:m),interval from dba_jobs where job in (325,295)
2 select job,what,last_date,next_date,interval from  dba_jobs where job in (1,3);


查询job的情况。
show paramter background_dump_dest.
看alter.log 和trace

 

SVRMGR> select * from dba_jobs;

初始化相关参数job_queue_processes
alter system set job_queue_processes=39 scope=spfile;//最大值不能超过1000

job_queue_interval = 10  //调度作业刷新频率秒为单位


DBA_JOBS describes all jobs in the database.
USER_JOBS describes all jobs owned by the current user

1  select job,what,to_char(last_date,'yyyy-mm-dd HH24:mi:ss'),to_char(next_date,'yyyy-mm-dd HH24:m),interval from dba_jobs where job in (325,295)
2 select job,what,last_date,next_date,interval from  dba_jobs where job in (1,3);


查询job的情况。
show paramter background_dump_dest.
看alter.log 和trace

 

请问我如何停止一个JOB
SQL> exec dbms_job.broken(1,true)

PL/SQL 过程已成功完成。
SQL>commit  //必须提交否则无效

启动作业
SQL> exec dbms_job.broken(1,false)

PL/SQL 过程已成功完成。

停其他用户的job
SQL>exec sys.dbms_ijob.broken(98,true);
SQL>commit;


============================

exec dbms_job.broken(:job) 停止
exec dbms_job.broken(186,true) //标记位broken
exec dbms_job.broken(186,false)//标记为非broken
exec dbms_job.broken(186,false,next_day(sysdate,'monday')) //标记为非broken,指定执行时间
exec dbms_job.remove(:job);删除
exec dbms_job.remove(186);
commit;

把一个broken job重新运行


三、查看相关job信息
1、相关视图
dba_jobs
all_jobs
user_jobs
dba_jobs_running 包含正在运行job相关信息


创建JOB
variable jobno number;
begin
  dbms_job.submit(:jobno, 'statspack.snap;', trunc(sysdate+1/24,'HH'), 'trunc(SYSDATE+1/24,''HH'')', TRUE, :instno);
  commit;
end;
print jobno

例如,我们已经建立了一个存储过程,其名称为my_job,在sql/plus中以scott用户身份登录,执行如下命令:
sql> variable n number;
sql> begin
dbms_job.submit(:n'my_job;’,sysdate,
'sysdate+1/360’);
commit;
end;
Sql> print :n;

系统提示执行成功。
Sql> print :n;
系统打印此任务的编号,例如结果为300。

 

简单例子
一个简单例子:

创建测试表
SQL> create table TEST(a date);

表已创建。

创建一个自定义过程
SQL> create or replace procedure MYPROC as
  2  begin
  3  insert into TEST values(sysdate);
  4  end;
  5  /

过程已创建。

创建JOB
SQL> variable job1 number;
SQL>
SQL> begin
  2  dbms_job.submit(:job1,'MYPROC;',sysdate,'sysdate+1/1440');  --每天1440分钟,即一分钟运行test过程一次
  3  end;
  4  /

PL/SQL 过程已成功完成。

运行JOB
SQL> begin
  2  dbms_job.run(:job1);
  3  end;
  4  /

PL/SQL 过程已成功完成。

SQL> select to_char(a,'yyyy/mm/dd hh24:mi:ss') 时间 from TEST;

时间
-------------------
2001/01/07 23:51:21
2001/01/07 23:52:22
2001/01/07 23:53:24

删除JOB
SQL> begin
  2  dbms_job.remove(:job1);
  3  end;
  4  /

PL/SQL 过程已成功完成。

=======================================


a、利用dbms_job.run()立即执行该job
   sql>begin
   sql>dbms_job.run(:jobno) 该jobno为submit过程提交时返回的job number
   sql>end;
   sql>/
b、利用dbms_job.broken()重新将broken标记为false
   sql>begin
   sql>dbms_job.broken (:job,false,next_date)
   sql>end;
   sql>/

 

========================================
SQL> create table a(a date);
Table created

创建一个过程
SQL> create or replace procedure test as
  2  begin
  3  insert into a values(sysdate);
  4  end;
  5  /
Procedure created

提交作业
SQL> declare
  2  job1 number;   //定义一个数字型变量
  3  begin
  4  dbms_job.submit(:job1,'test;',sysdate,'sysdate+1/1440');  //按分钟算一天1440分钟
  5  end;
  6  /
PL/SQL procedure successfully completed
job1
---------
4
SQL> commit;
Commit complete

运行作业
SQL> begin
  2  dbms_job.run(4);
  3  end;
  4  /
PL/SQL procedure successfully completed

删除作业
SQL> begin
  2  dbms_job.remove(4);
  3  end;
  4  /
PL/SQL procedure successfully completed
SQL> commit;
Commit complete


job change//修改作业
execute dbms_job.change(186,null,null,'sysdate+3');
execute dbms_job.change(186,'scott.test(update)');

 

DBA_JOBS
===========================================
字段(列)          类型                 描述
JOB                NUMBER          任务的唯一标示号
LOG_USER           VARCHAR2(30)    提交任务的用户
PRIV_USER          VARCHAR2(30)    赋予任务权限的用户
SCHEMA_USER        VARCHAR2(30)    对任务作语法分析的用户模式
LAST_DATE          DATE            最后一次成功运行任务的时间
LAST_SEC           VARCHAR2(8)     如HH24:MM:SS格式的last_date日期的小时,分钟和秒
THIS_DATE     DATE            正在运行任务的开始时间,如果没有运行任务则为null
THIS_SEC     VARCHAR2(8)     如HH24:MM:SS格式的this_date日期的小时,分钟和秒
NEXT_DATE          DATE            下一次定时运行任务的时间
NEXT_SEC           VARCHAR2(8)     如HH24:MM:SS格式的next_date日期的小时,分钟和秒
TOTAL_TIME         NUMBER          该任务运行所需要的总时间,单位为秒
BROKEN             VARCHAR2(1)     标志参数,Y标示任务中断,以后不会运行
INTERVAL           VARCHAR2(200)   用于计算下一运行时间的表达式
FAILURES    NUMBER     任务运行连续没有成功的次数
WHAT               VARCHAR2(2000)  执行任务的PL/SQL块
CURRENT_SESSION_LABEL RAW          MLSLABEL 该任务的信任Oracle会话符
CLEARANCE_HI      RAW MLSLABEL     该任务可信任的Oracle最大间隙
CLEARANCE_LO      RAW              MLSLABEL 该任务可信任的Oracle最小间隙
NLS_ENV           VARCHAR2(2000)   任务运行的NLS会话设置
MISC_ENV          RAW(32)          任务运行的其他一些会话参数

 


描述                    INTERVAL参数值
每天午夜12点            'TRUNC(SYSDATE + 1)'
每天早上8点30分         'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)'
每星期二中午12点         'NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 12/24'
每个月第一天的午夜12点    'TRUNC(LAST_DAY(SYSDATE ) + 1)'
每个季度最后一天的晚上11点 'TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24'
每星期六和日早上6点10分    'TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)'

 

job(oracle定时任务)界面管理工具 job的界面配置管理工具,为你更方便快捷定制定时任务,提高维护者的时间成本,更加安全实用 立即下载

相关推荐

五大经典遥感数据集对比:LoveDA、Potsdam、Toronto、Vaihingen、Massachusetts Roads选哪个?

本文深度对比了LoveDA、Potsdam、Vaihingen、Toronto和Massachusetts Roads五大经典遥感数据集。针对城市监测、道路提取、土地分类等不同任务,从分辨率、标注质量、数据规模及场景多样性等核心维度进行分析,为研究者根据项目目标、硬件条件与应用场景选择最合适的遥感数据集提供决策指南。

weixin_29057065的博客 237

Oracle中的定时任务

Oracle中的定时任务jo

m0_71406734的博客 2万+

保姆级教程:用STM32CubeMX给STM32F407配置RTC秒中断,并解决掉电时间丢失问题

本文详细介绍了如何使用STM32CubeMX为STM32F407配置RTC秒中断,并解决掉电时间丢失问题。通过硬件原理与软件配置的双视角解析,帮助开发者实现精确计时与时间持久化,适用于物联网设备和工业控制器等场景。

weixin_42519733的博客 136

详解 Oracle job 的使用与管理技巧!

详解 Oracle job 的使用与管理技巧SVRMGR> select * from dba_jobs;初始化相关参数job_queue_processesalter system set job_queue_processes=39 scope=spfile;//最大值不能超过1000  ;job_queue_interval = 10  //调度作业刷新频率秒为单位 

无情的你,无情的雨! 3452

DaVinciCFG实战:从ARXML配置到ADC代码生成全解析

本文详细解析了使用DaVinciCFG工具进行ADC模块配置的全过程,从ARXML文件处理到代码生成与集成。重点介绍了关键参数配置、ARXML语法规则、常见错误排查及代码优化技巧,帮助开发者掌握AUTOSAR架构下ADC驱动开发,提升汽车电子系统的可靠性。

f9g0h的博客 378

看懂特斯拉IMU底层逻辑,才懂农业机器人不可替代的核心技术壁垒

在自动驾驶与具身智能赛道,特斯拉彻底重构了IMU(惯性测量单元)的技术定位,打破行业“IMU仅为辅助补盲配件”的固有认知,将其从底盘附属硬件升级为纯视觉感知体系的物理核心基座。依托500–1000Hz超高刷新率、无外部依赖的惯性感知能力、端到端神经网络融合架构,特斯拉实现了“视觉感知环境、IMU定义运动”的技术闭环,摆脱对激光雷达、高精地图、卫星定位的强依赖。这套技术逻辑落地农业机器人赛道,不再是技术优化,而是规模化落地的生存刚需。城市自动驾驶属于结构化稳定场景,IMU仅作误差修正的锦上添花;

getusushu的博客 49

Oracle dbms_job管理

文章目录0、参考资料&注意事项1、dbms_jobs相关视图和参数2、dbms_job管理2.1、创建 DBMS_JOB2.2、启停\修改dbms_job2.3、非job owner用户管理job3、关于 interval 的一些设置技巧 0、参考资料&注意事项 Oracle Database Administrator’s Guide -> Support for DBMS...

独孤清扬玩DB 1236

ABAP 7.40 新语法介绍系列之二 - ABAP 类型转换操作符 CONV

这个lv_input_s变量的唯一使命,就是接收来自 char10 类型的 lv_input_c 变量的值,然后传递到 print 方法里去。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1414

ORACLE JOB创建及使用详解

都有哪些

m0_38048955的博客 5557

基于Simulink的发动机管理系统中的自适应增压控制系统设计

通过上述详细设计步骤,我们成功开发了一个基于Simulink的自适应增压控制系统。该系统不仅能够实时监测和预测发动机的运行状态,动态调整增压压力目标值,还具备实时监控、故障诊断和保护功能,确保系统的安全性和可靠性。此外,通过仿真实验和硬件在环测试,我们验证了系统的性能,并对其进行了优化,使其能够更好地满足实际应用需求。这个项目展示了如何利用MATLAB/Simulink的强大功能,结合控制理论和工程实践,开发出高效、可靠的自适应增压控制系统。

MHD0815的博客 220

公文流转系统

公文录入区 | QLineEdit(文号/标题)、QComboBox(公文类型/紧急程度)、QTextEdit(正文)、QListWidget(附件列表)、QPushButton(上传附件/保存草稿/提交审批) |// 按时间范围获取。QStringList userNames = {"张三", "李四", "王五", "赵六", "钱七", "孙八", "周九", "吴十", "郑十一", "王十二"};

寒寒豆豆软件公司的博客 549

Oracle中如何停用JOB及如何使用JOB

Oracle中如何停用JOB及如何使用JOB http://blog.chinaunix.net/uid-25785357-id-3435434.html ...

clv18753的博客 328

使用podspec创建iOS插件

概述 在WWDC 2014全球开发者大会上,苹果开放了动态库、App Extension等全新的功能,这为iOS插件化开发带来了可能。在iOS开发中,动态库是iOS提供的一种资源打包方式,可以将代码文件、头文件、资源文件和说明文档等集中在一起,并且可以在运行时进行动态加载。 目前,很多应用越做越复杂,应用程序也显得越来越臃肿。试想一下,如果将一些不常用的功能做成一个插件,然后根据用户的需求从网络中...

xiangzhihong8的专栏 991

转载:关于oracle中job的记录

--启动job exec dbms_job.run(1700102); --停用job EXEC DBMS_JOB.BROKEN(job#,TRUE); EXEC DBMS_JOB.BROKEN(1700102, TRUE); --查看当前用户下面有多少job执行 select job,what,failures,broken from user_jobs --where job ...

chenjf0221的博客 781

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

job历史执行记录查询 oracle_oracle job 查询 存储过程

Oracle开发与使用文章收藏收集一些Oracle开发与使用文章,以便于后续查找.【基础类】1.ORACLE函数大全2.Orace常用函数3.oracle 日期函数介绍4.Oracle中常用的to_Char用法详解(有FMT的详细列表)5.ORACLE中日期和时间函数汇总(转载)6.SQL Server和Or...文章长征2号2017-03-061232浏览量Oracle开发与使用文章收藏收集一些...

weixin_39938269的博客 2314

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

oracle job的创建和删除,oracle job的创建和删除

oracle job的创建declarev_jobnumnumber;begindbms_job.submit(v_jobnum,'lastjob;',sysdate,'last_day(sysdate)+1');COMMIT;end;或者DECLAREjobno numeric;BEGINdbms_job.submit(jobno,'getAndSyncKey;',sysdate,'trun...

weixin_28543661的博客 2019

oracle 禁用/启动job

注意:dbms_job只能在job的所在用户使用,如果broken其它用户的job用dbms_ijob dbms_job只能在当期用户内创建job、修改和删除job,不能对其他用户的job进行操作;sys用户也无法用dbms_job管理其他用户的job。 dbms_ijob只能由sys用户去执行,拥有DBA权限的用户都没有权限去执行它。 通过dbms_ijob sys用户可以...

weixin_30879833的博客 3733

Oracle中的job(转载)

我们在项目开发中,常常会有一些复杂的业务逻辑。使用oracle的存储过程,可以大大减少java程序代码的编写工作量,而且存储过程执行在数据库上,这样可以利用oracle的良好性能支持,极大地提高程序执行效率和稳定性。定时执行存储过程,就要用到job。 以下是常用的参数说明: 字段(列) 类型 描述 JOB...

weixin_30896511的博客 92

oracle job执行失败

创建job任务:declare test_job number;begin dbms_job.submit(test_job, 'prc_job_test;', sysdate, 'sysdate+1/(24*60)');--每分钟执行一次刷新end; 查看用户的job任务:select * from user_jobs; 执行任务,参数是user_jo...

diaozhu8380的博客 2875

Oracle 启动 停止JOB

转自:https://www.cnblogs.com/qianbing/p/6971633.html --查看job下次执行时间以及间隔时间 select * from dba_jobs where job = '774'; --启动job exec dbms_job.run(774); --停用job EXEC DBMS_JOB....

aixiongjing3912的博客 625

关于oracle数据库中job的总结

oracle数据库采用SNP进程来管理和运行JOB,SNP进程和实例中其他进程最大区别是这个进程被杀掉后,系统就会自动重新启动一个SNP,因此并不影响oracle实例运行.SNP进程本身也是被系统周期性地调用去查看数据字典中的JOB序列目录,看是否有JOB需要去运行,运行之后SNP就进入休眠状态.唤醒,SNP被调用的时间的设置是在数据库初始化文件里通过参数job_queue_interval设置进

Something的专栏 1720

oracle job 建立调度任务

【转载】:自己建立一个带out参数的存储过程,结果一直建立job任务失败,后来找到了这篇文章才知道原因所在。  目 前,流行的主流数据库都拥有此项功能,最具代表性的是Microsoft SQL Server7.0、Oracle8i/9i等。但是,要让Job工作,还需要我们加以配置才能实现。这些配置都有GUI操作。本文介绍Oracle9i下通过命令行实现Job配置..

oraclemch的专栏 4655

每天1点执行的oracle JOB样例

每天1点执行的oracle JOB样例

hfrujhv的博客 3123

oracle建job

declare job number; begin --每天1440分钟,即一分钟运行test过程一次 dbms_job.submit(job,'pro_test_job;',sysdate,'sysdate+1/1440'); end; submit()函数,有五个参数:job,what,next_date,interval与no_parse PROCEDU...

baimanmu3398的博客 91

oracle job两个过程,Oracle Job 定时执行一个存储过程

使用的是PL/SQL的SQL Window,语句如下:1、执行建立序列的JOBdeclare job number;beginsys.dbms_job.submit(job => job,what => 'prc_createSeq;',next_date => to_date('31-12-2011 12:00:00','dd-mm-yyyy hh24:mi:ss'),inte...

weixin_42382398的博客 538

查看oracle数据库job及会话信息

查看所有jobselect from dba_jobs;查看正在运行的jobselect from dba_jobs_running; select job,log_user,priv_user,schema_user,BROKEN from dba_jobs where job=545;查看数据库建立的回话情况select sid,serial#,username,program,mach...

weixin_34080571的博客 2586
上一篇: 收集的一些经典搞笑的话(转载)
下一篇: Oracle JOB 用法小结(转载)
ORHCLE
博客等级 码龄17年 30粉丝 1原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值