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. 使用方法
- 创建作业:
在 Oracle 12c 中,你可以使用 DBMS_SCHEDULER 包中的过程来创建作业。例如,你可以使用 CREATE_JOB 过程来定义一个新的作业。创建作业时,你需要指定作业的名称、作业类型(作为存储过程、PL/SQL 程序等)、作业的调度时间等信息。 - 定义作业:
通过定义作业的属性,如重复时间间隔、优先级、准备状态等,来为作业添加更多细节信息和定制化选项。 - 启动作业:
一旦作业被定义和配置完成,你可以手动或自动的方式启动作业来运行。你可以通过调用 DBMS_SCHEDULER 包中的 RUN_JOB 过程来手动启动一个作业。 - 监控作业:
Oracle 提供了一些视图和查询语句来监控作业的执行情况,例如通过查询 DBA_SCHEDULER_JOB_RUN_DETAILS 视图来查看作业运行的详细信息,或者通过 DBMS_SCHEDULER 包中的 GET_JOB_LOG 方法来获取作业的日志信息。 - 修改和删除作业:
如果需要修改或删除作业,你可以使用 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_jobs、all_jobs、user_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
| 字段 | 类型 | 官方描述 | 注释 |
|---|---|---|---|
| JOB | number | Identifier of job. Neither import/export nor repeated executions change it. | 作业的标识符。无论是导入/导出还是重复执行都不会改变它。 |
| LOG_USER | varchar2(128) | USER who was logged in when the job was submitted | 提交作业时登录的用户 |
| PRIV_USER | varchar2(128) | USER whose default privileges apply to this job | 默认权限适用于此作业的USER |
| SCHEMA_USER | varchar2(128) | select * from bar means select * from schema_user.bar | selectfrom bar表示从schema_ser.bar中选择 |
| LAST_DATE | date(yyyy-MM-dd HH:mm:ss) | Date that this job last successfully executed | 上次成功执行此作业的日期 |
| LAST_SEC | varchar2(8) | Same as LAST_DATE. This is when the last successful execution started. | 与LAST_DATE相同。这是最后一次成功执行的开始时间。 |
| THIS_DATE | date(yyyy-MM-dd HH:mm:ss) | Same as THIS_DATE. This is when the last successful execution started. | 与THIS_DATE相同。这是最后一次成功执行的开始时间。 |
| NEXT_DATE | date(yyyy-MM-dd HH:mm:ss) | Date that this job will next be executed | 下一次执行此作业的日期 |
| NEXT_SEC | varchar2(8) | Same as NEXT_DATE. The job becomes due for execution at this time. | 与NEXT_DATE相同。此时作业将到期执行。 |
| TOTAL_TIME | number | Total wallclock time spent by the system on this job, in seconds | 系统在此作业上花费的墙时钟总时间(秒) |
| BROKEN | varchar2(1) | If Y, no attempt is being made to run this job. See dbms_jobq.broken(job). | 如果是,则表示没有尝试运行此作业。请参阅dbms_jobq.breaked(job)。 |
| INTERVAL | varchar2(200) | A date function, evaluated at the start of execution, becomes next NEXT_DATE | 在执行开始时评估的日期函数将成为下一个next_date |
| FAILURES | number | How many times has this job started and failed since its last success? | 自上次成功以来,这项工作已经开始和失败了多少次? |
| WHAT | varchar2(4000) | Body of the anonymous PL/SQL block that this job executes | 此作业执行的匿名PL/SQL块的主体 |
| NLS_ENV | varchar2(4000) | alter session parameters describing the NLS environment of the job | 更改描述作业的NLS环境的会话参数 |
| MISC_ENV | raw | a versioned raw maintained by the kernel, for other session parameters | 内核为其他会话参数维护的版本化原始 |
| INSTANCE | number | Instance 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;
相关文章:
Oracle12cR2之Job定时作业调度器详解
Oracle12cR2之Job定时作业调度器详解 文章目录 Oracle12cR2之Job定时作业调度器详解1.Oracle Job1. 关于Job2. 使用方法 2. Job详细说明1. 查看Job的相关视图2.SYS.DBA_JOBS视图字段详细说明 3. 创建及查看Job1. 创建Job2. 查看运行中的Job 1.Oracle Job 1. 关于Job 在 Oracle…...
python自学...
一、稍微高级一点的。。。 1. 闭包(跟js差不多) 2. 装饰器 就是spring的aop 3. 多线程...
Message Pack 协议详解及应用
文章目录 一、Message Pack是什么二、Message Pack的语法规则三、Message Pack相关链接四、Message Pack应用场景五、MessagePack 兼容性与特点 一、Message Pack是什么 Message Pack是一种高效的二进制序列化格式,用于在不同的应用程序之间进行数据交换。它类似于J…...
智慧社区管理系统:构建未来的生活模式
在这个信息化、智能化的时代,我们期待的不再是简单的居住空间,而是一个集安全、便捷、舒适、环保于一体的智能化社区。为此,我们推出了全新的智慧社区管理系统,旨在将先进的科技力量引入社区管理,为居民提供更优质的生…...
Rocky 8.9 Kubespray v2.24.0 在线部署 kubernetes v1.28.6 集群
文章目录 1. 简介2. 预备条件3. 基础配置3.1 配置hostname3.2 配置互信 4. 配置部署环境4.1 在线安装docker4.2 启动容器 kubespray4.3 编写 inventory.ini4.4 关闭防火墙、swap、selinux4.5 配置内核模块 5. 部署6. 集群检查 1. 简介 kubespray 是一个用于部署和管理 Kuber…...
新版AI系统ChatGPT源码支持GPT-4/支持AI绘画去授权
源码获取方式 搜一搜:万能工具箱合集 点击资源库直接进去获取源码即可 如果没看到就是待更新,会陆续更新上 新版AI系统ChatGPT网站源码支持GPT-4/支持AI绘画/Prompt应用/MJ绘画源码/PCH5端/免授权,支持关联上下文,意间绘画模型…...
学习鸿蒙基础(5)
一、honmonyos的page路由界面的路径 新建了一个page,然后删除了。运行模拟器的时候报错了。提示找不到这个界面。原来是在路由界面没有删除这个page。新手刚接触找了半天才找到这个路由。在resources/base/profile/main_pages.json 这个和微信小程序好类似呀。 吐槽…...
Tuxera NTFS2024最新中文版支持M1/M2/M3苹果全系机型
Tuxera NTFS的传输速度会受到多种因素的影响,包括硬件配置、文件大小、存储设备的性能等。因此,无法给出具体的传输速度数值。 不过,根据一些用户的使用经验和测试数据,Tuxera NTFS的传输速度通常都非常快,能够满足大…...
【Python】OpenCV-图片添加水印处理
图片添加水印处理 1. 引言 图像处理中的水印添加是一种常见的操作,用于在图片上叠加一些信息或标识。本文将介绍如何使用OpenCV库在图片上添加水印,并通过详细的代码注释来解释每一步的操作。 2. 代码示例 以下是一个使用OpenCV库的简单代码示例&…...
Milvus数据库介绍
参考:https://www.xjx100.cn/news/1726910.html?actiononClick Milvus 基于FAISS、Annoy、HNSW 等向量搜索库构建,核心是解决稠密向量相似度检索的问题。在向量检索库的基础上,Milvus 支持数据分区分片、数据持久化、增量数据摄取、标量向量…...
notepad++的下载与使用
1.进入官网下载 https://notepad-plus-plus.org/ 点击下载即可 2.选择中文简体 3.建议安装在D盘 其余步骤按照指示就行 4.安装后这几个是必选的 设置完成后就可以写中文了 以此为例 结果为...
论UI的糟糕设计:以百度网盘为例
上面这一排鼠标一经过就会弹出来(不是点才弹出来),然后挡住你的各种操作, 弹出来时你就必须等它消失,卡一下才能操作。 在用户顺畅地操作内容时,经常就卡一下、卡一下、卡一下…… 1、比如鼠标从下到上&am…...
【Spring】三级缓存
目录标题 触发所有未加载的实例a - 开始getBean( doGetBean) - 获取单例beangetSingleton() - 获取单例beancreateBean(doCreateBean) - 创建beancreateBeanInstance - 创建并返回beanaddSingletonFactory -放三级缓存populateBea…...
CVE-2016-3088(ActiveMQ任意文件写入漏洞)
漏洞描述 1、漏洞编号:CVE-2016-3088 2、影响版本:Apache ActiveMQ 5.x~5.13.0 在 Apache ActiveMQ 5.12.x~5.13.x 版本中,默认关闭了 fileserver 这个应用(不过,可以在conf/jetty.xml 中开启);…...
270.【华为OD机试真题】字符串拼接(深度优先搜索(DFS)-JavaPythonC++JS实现)
🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-字符串拼接二.解题思路三.题解代码Python题解代…...
线阵相机参数介绍之轴编码器控制
1.1 功能介绍 编码器是将检测对象的运动与相机拍摄取图相匹配的设备,也即检测对象运动一定距离,相机就拍摄一定行高的图像。 编码器会将检测对象的实际位移转换为固定数量电信号。例如:编码器的精度是2000p/r,该参数的含义是编码器每转一圈输…...
【JavaEE】_HTTP响应
目录 1. 首行 2. 报头header 3.空行 4. 正文body 1. 首行 响应首行:版本号状态码状态码描述; HTTP状态码描述了这次响应的结果(比如成功、失败,以及失败原因等); 1. HTTP状态码有: &#…...
SQL防止注入工具类,可能用于SQL注入的字符有哪些
SQL注入是一种攻击技术,攻击者试图通过在输入中注入恶意的SQL代码来干扰应用程序的数据库查询。为了防止SQL注入,你需要了解可能用于注入的一些常见字符和技术。以下是一些常见的SQL注入字符和技术: 单引号 : 攻击者可能会尝试…...
【数学建模入门】
数学建模入门 数学建模需要的学科知识怎么学习数学模型如何读好一篇优秀论文数学建模赛题常见类别数学建模常见问题数学建模组队和分工数学建模准备工作 数学建模需要的学科知识 怎么学习数学模型 💦推荐阅读书籍: 《数学建模算法与应用》,…...
ansible剧本中的角色
1 roles角色 1.1 roles角色的作用? 可以把playbook剧本里的各个play看作为一个角色,将各个角色打的tasks任务、vars变量、template模版和copy、script模块使用的相关文件等内容放置在指定角色的目录里统一管理,在需要的时候可在playbook中使…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
