当前位置: 首页 > news >正文

Oracle12cR2之Job定时作业调度器详解

Oracle12cR2之Job定时作业调度器详解

文章目录

  • Oracle12cR2之Job定时作业调度器详解
  • 1.Oracle Job
    • 1. 关于Job
    • 2. 使用方法
  • 2. Job详细说明
    • 1. 查看Job的相关视图
    • 2.SYS.DBA_JOBS视图字段详细说明
  • 3. 创建及查看Job
    • 1. 创建Job
    • 2. 查看运行中的Job

1.Oracle Job

1. 关于Job

在 Oracle 12c 中,“job” 通常指的是使用 Oracle 作业调度器(Oracle Scheduler)创建和管理的作业。Oracle Scheduler 是一个强大的工具,用于执行各种任务,例如存储过程、PL/SQL 程序、shell 脚本、操作系统命令等,可以按照指定的时间表定期运行这些任务。Oracle 12c 中的作业调度器功能非常强大,可以帮助你管理和执行各种任务,并通过灵活的配置选项来满足不同的需求。

以下是 Oracle 12c 中关于作业调度器的详细介绍及使用方法:

2. 使用方法

  1. 创建作业:
    在 Oracle 12c 中,你可以使用 DBMS_SCHEDULER 包中的过程来创建作业。例如,你可以使用 CREATE_JOB 过程来定义一个新的作业。创建作业时,你需要指定作业的名称、作业类型(作为存储过程、PL/SQL 程序等)、作业的调度时间等信息。
  2. 定义作业:
    通过定义作业的属性,如重复时间间隔、优先级、准备状态等,来为作业添加更多细节信息和定制化选项。
  3. 启动作业:
    一旦作业被定义和配置完成,你可以手动或自动的方式启动作业来运行。你可以通过调用 DBMS_SCHEDULER 包中的 RUN_JOB 过程来手动启动一个作业。
  4. 监控作业:
    Oracle 提供了一些视图和查询语句来监控作业的执行情况,例如通过查询 DBA_SCHEDULER_JOB_RUN_DETAILS 视图来查看作业运行的详细信息,或者通过 DBMS_SCHEDULER 包中的 GET_JOB_LOG 方法来获取作业的日志信息。
  5. 修改和删除作业:
    如果需要修改或删除作业,你可以使用 ALTER_JOB 和 DROP_JOB 过程来进行相关操作。

2. Job详细说明

1. 查看Job的相关视图

select * from dba_jobs;
select * from all_jobs;
--All jobs owned by this user
select * from user_jobs;

2.SYS.DBA_JOBS视图字段详细说明

dba_jobsall_jobsuser_jobs视图都是基于SYS.DBA_JOBS定义的同义词,如下

create public synonym DBA_JOBS for SYS.DBA_JOBS
create public synonym ALL_JOBS for SYS.USER_JOBS
create public synonym USER_JOBS for SYS.USER_JOBS
字段类型官方描述注释
JOBnumberIdentifier of job. Neither import/export nor repeated executions change it.作业的标识符。无论是导入/导出还是重复执行都不会改变它。
LOG_USERvarchar2(128)USER who was logged in when the job was submitted提交作业时登录的用户
PRIV_USERvarchar2(128)USER whose default privileges apply to this job默认权限适用于此作业的USER
SCHEMA_USERvarchar2(128)select * from bar means select * from schema_user.barselectfrom bar表示从schema_ser.bar中选择
LAST_DATEdate(yyyy-MM-dd HH:mm:ss)Date that this job last successfully executed上次成功执行此作业的日期
LAST_SECvarchar2(8)Same as LAST_DATE. This is when the last successful execution started.与LAST_DATE相同。这是最后一次成功执行的开始时间。
THIS_DATEdate(yyyy-MM-dd HH:mm:ss)Same as THIS_DATE. This is when the last successful execution started.与THIS_DATE相同。这是最后一次成功执行的开始时间。
NEXT_DATEdate(yyyy-MM-dd HH:mm:ss)Date that this job will next be executed下一次执行此作业的日期
NEXT_SECvarchar2(8)Same as NEXT_DATE. The job becomes due for execution at this time.与NEXT_DATE相同。此时作业将到期执行。
TOTAL_TIMEnumberTotal wallclock time spent by the system on this job, in seconds系统在此作业上花费的墙时钟总时间(秒)
BROKENvarchar2(1)If Y, no attempt is being made to run this job. See dbms_jobq.broken(job).如果是,则表示没有尝试运行此作业。请参阅dbms_jobq.breaked(job)。
INTERVALvarchar2(200)A date function, evaluated at the start of execution, becomes next NEXT_DATE在执行开始时评估的日期函数将成为下一个next_date
FAILURESnumberHow many times has this job started and failed since its last success?自上次成功以来,这项工作已经开始和失败了多少次?
WHATvarchar2(4000)Body of the anonymous PL/SQL block that this job executes此作业执行的匿名PL/SQL块的主体
NLS_ENVvarchar2(4000)alter session parameters describing the NLS environment of the job更改描述作业的NLS环境的会话参数
MISC_ENVrawa versioned raw maintained by the kernel, for other session parameters内核为其他会话参数维护的版本化原始
INSTANCEnumberInstance number restricted to run the job限制运行作业的实例数

3. 创建及查看Job

1. 创建Job


declarevariable jobSeq number;
beginsys.dbms_job.submit(job => jobSeq,what => 'functionName or procedureName;',           --需要定时执行的函数或存储过程的名字next_date => sysdate,interval =>'trunc(sysdate,''mi'')+1/(24*60)')');       --每分钟执行一次commit;
end;

2. 查看运行中的Job

select * from dba_jobs_running;
http://www.lryc.cn/news/303023.html

相关文章:

  • python自学...
  • Message Pack 协议详解及应用
  • 智慧社区管理系统:构建未来的生活模式
  • Rocky 8.9 Kubespray v2.24.0 在线部署 kubernetes v1.28.6 集群
  • 新版AI系统ChatGPT源码支持GPT-4/支持AI绘画去授权
  • 学习鸿蒙基础(5)
  • Tuxera NTFS2024最新中文版支持M1/M2/M3苹果全系机型
  • 【Python】OpenCV-图片添加水印处理
  • Milvus数据库介绍
  • notepad++的下载与使用
  • 论UI的糟糕设计:以百度网盘为例
  • 【Spring】三级缓存
  • CVE-2016-3088(ActiveMQ任意文件写入漏洞)
  • 270.【华为OD机试真题】字符串拼接(深度优先搜索(DFS)-JavaPythonC++JS实现)
  • 线阵相机参数介绍之轴编码器控制
  • 【JavaEE】_HTTP响应
  • SQL防止注入工具类,可能用于SQL注入的字符有哪些
  • 【数学建模入门】
  • ansible剧本中的角色
  • weblog项目开发记录--SpringBoot后端工程骨架
  • axios封装终极版实现token无感刷新及全局loading
  • 推荐一个内网穿透工具,支持Windows桌面、Linux、Arm平台客户端
  • 【linux】vim多行操作命令
  • vue-router钩子函数有哪些?都有哪些参数?
  • 基于JavaWeb开发的小区车辆登记系统计算机毕设[附源码]
  • 【开源】SpringBoot框架开发高校宿舍调配管理系统
  • 高压开关柜实现无线测温监测的关键点
  • 在线图片生成工具:定制化占位图片的利器
  • 闭包----闭包的理解、优点
  • jenkins的nmp install命令无法下载包