如何在Oracle中管理计划任务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Oracle中管理计划任务相关的知识,希望对你有一定的参考价值。

  是的。以前我们在处理这类需求时也是这么做的。
  但从ORACLE 10.1 版本开始,ORACLE 开发了一个新的包DBMS_SCHEDULER 。这个包挺复杂的,以至于我在初次学习之后,就没再去用它了。功能太强大了,其实很多我们不需要的。
  我们就有这个需求,看看DBMS_SCHEDULER 是如何解决的。
  在SQLPLUS 中,使用DBMS_SCHEDULER.CREATE_JOB 创建计划任务,用于调度一个存储过程。
  存储过程很简单,我为这个测试而创建的,就是向一张表里插入数据。
  CREATE TABLE T1 AS SELECT SYSDATE AS AA FROM DUAL;

  CREATE OR REPLACE PROCEDURE SP_TEST_T1 AS

  BEGIN
   INSERT INTO T1 SELECTD SYSDATE FROM DUAL;
   COMMIT;
  END;
  
  这个存储过程没有输入输出参数,是为了JOB 调用方便。如果实际运行过程中有参数,我们就写一个存储过程封装它,再放入JOB 中调用。
  例如:
  CREATE PROCEDURE GATHER_GTJA_STATS
  AS
  BEGIN
  SYS.DBMS_STATS.GATHER_SCHEMA_STATS(OWNNAME => \'GTJA\',ESTIMATE_PERCENT => 30,METHOD_OPT => \'FOR ALL INDEXED COLUMNS SIZE AUTO\',CASCADE => TRUE,OPTIONS => \'GATHER\');
  END;
  
  使用DBMS_SCHEDULER.CREATE_JOB 创建一个JOB, 调用存储过程SP_TEST_T1 ,执行间隔2 分钟。这里的JOB_NAME 名称可以自己定义,这个摆脱了DBMS_JOB 中JOB 号不能自定义的缺点。
 
  EXEC DBMS_SCHEDULER.CREATE_JOB(JOB_NAME => \'JOB_SP_TEST_T1\',JOB_TYPE => \'STORED_PROCEDURE\',JOB_ACTION =>\'SP_TEST_T1\' ,START_DATE => SYSDATE ,REPEAT_INTERVAL => \'FREQ=MINUTELY; INTERVAL=2\');
  
  该命令执行成功后,可以在*_SCHEDULER_JOBS 中看到JOB 的配置值。
  SELECT * FROM DBA_SCHEDULER_JOBS;
  
  SELECT * FROM USER_SCHEDULER_JOBS WHERE JOB_NAME=\'JOB_SP_TEST_T1\';
  
  使用该命令新建的JOB ,默认是不执行的,需要将其状态改成可执行状态。
  
  EXEC DBMS_SCHEDULER.ENABLE(NAME => \'JOB_SP_TEST_T1\');
  
  可以删除重建它。
  EXEC DBMS_SCHEDULER.DROP_JOB(JOB_NAME => \'JOB_SP_TEST_T1\');
  EXEC DBMS_SCHEDULER.CREATE_JOB(JOB_NAME => \'JOB_SP_TEST_T1\',JOB_TYPE => \'STORED_PROCEDURE\',JOB_ACTION => \'SP_TEST_T1\',START_DATE => TO_DATE(\'2012-06-12 15:30:00\',\'YYYY-MM-DD HH24:MI:SS\') ,REPEAT_INTERVAL => \'FREQ=DAILY\');
  
  这个创建过程而言,其实和DBMS_JOB 创建JOB 的差别不大,但DBMS_SCHEDULER 可配置的地方就太多了。执行时间间隔非常非常灵活,这里不做详述了,具体请看ORACLE 官方文档。
  DBMS_SCHEDULER 针对每一次JOB 执行,都做了详细记录,因此,可以查询到每一次JOB 执行的时间了。
  具体可以查看两类视图*_SCHEDULER_JOB_LOG 和*_SCHEDULER_JOB_RUN_DETAILS 。
  SELECT * FROM DBA_SCHEDULER_JOB_LOG;
  SELECT * FROM DBA_SCHEDULER_JOB_RUN_DETAILS;
  
  如果嫌日志太多了,可以使用PURGE_LOG 去清理。
  EXECUTE DBMS_SCHEDULER.PURGE_LOG;
  
  这个DBMS_SCHEDULER 包的功能太多了,用起来也累,所以很多人还是选择DBMS_JOB 。
参考技术A 下一个Oracle工具Toad

如何在 FlowUs和Notion 等笔记软件中进行任务管理?


对于 Notion 这样的生产力工具而言,非常适合进行任务管理。比如,制定各种学习计划、工作计划、习惯追踪。你可以看到很多用户乐此不疲地建立各种模版,其中最重要的便是进行任务追踪。


那么,与传统的工具而言,Notion 类产品为什么适合进行任务追踪呢

如何在


Notion 类生产力工具的独特之处


1.强大的 Block 编辑器。你可以将 Block 理解为一个个积木。其中,包括项目列表、编号列表、代码块、图片等等均属于不同类型的积木。在 Notion 类产品中,用户是建筑师。你需要使用不同的 Block 建立你心目中的理想王国。


2.强大的多维表格 Database 。这意味着,你面临的不再是一个个单独的文档,而是一个数据库。你可以根据每个文档不同的属性,然后使用不同的视图,展示这些文档之间的关系。


以上便是 Notion 类产品的核心特性。


根据这个特点,我打算利用我正在使用的 Notion 类产品——FlowUs 展示如何进行任务追踪。

如何在


FlowUs 的独特之处


FlowUs 拥有 Notion 的大部分核心功能。此外,还拥有对于中文用户友好的网络环境、中文界面等特性。更重要的是,FlowUs 提供了两个非常吸引我的特性:


  1. 支持文件夹页面功能。你有没有想过,将你的笔记管理和文件管理进行整合?在使用 Notion 后,我曾经想过将我所有的办公文档都存放至 Notion, 以此实现真正的 All in One. 然而,Notion 的文件管理功能比较孱弱。而在 FlowUs 中,允许我将各种本地文件或者文件夹直接一键上传和下载。并且,对于我这样的个人免费版用户而言,文件预览也是免费的。
  2. 原生开发的客户端。对于效率工具而言,如果每次进行操作的时候,软件交互比较满,那估计会给用户带来不少痛苦体验。FlowUs 对移动端等进行原生开发,为用户提供极速的产品体验。


任务追踪的三种路径


使用横向排版功能建立可视化面板


与传统编辑器不一样,FlowUs 等生产力工具提供了十分好用的横向排版功能。通过横向排版,你可以充分利用你的编辑器所在的空白空间,建立更为强大的可视化面板。如图,我简单制作了一个每周计划模版。

如何在


善用多维表格 Database


Database 是 FlowUs 最为核心的功能。透过表格、目录、看板、时间轴、画廊等多个视图,你可以快速根据不同的属性标签,透视多个文档之间的关系。


如图,我建立了一个简易的习惯追踪模版。

如何在


巧用小组件


在各种小组件中,日历、进度条、热力图都是很适合打卡的小组件。


如图,这是我的近期的阅读写作热力图

如何在


如何在


相关生产力工具测评和方法论介绍


  • 笔记软件的历史、选择策略以及深度评测
  • 数字花园:Notion Like 笔记软件使用教程·学习资源汇总·知识管理方案:深度评测、辅助工具、信息管理、时间管理、任务管理、思维管理、项目管理、文件管理、笔记方法、记忆方法、写作方法  ——在这篇文章,我以 Notion 类工具为例,介绍了笔记软件的多种使用场景以及相关的阅读方法、笔记方法、写作方法等生产力方法论。
  • 国内主流生产力工具综合评测  ——在这篇文章,我汇总了常见的生产力工具详细测评文章,包括轻量级笔记软件、Markdown 编辑器、云 Office、离线笔记、云笔记、开源笔记软件、大纲编辑器、协同办公笔记软件、知识库管理工具 、低代码/无代码平台、写作软件、生产力方法论等主题的内容。
  • NotionPet 官网-丰富的小组件库、动态图标库——提供大量好看、实用的小组件,可以辅助进行时间管理、任务管理、笔记记录、资讯管理、创意写作等多种使用场景。其中,小组件数量正在不断丰富服务稳定。并且,NotionPet 提供了强大的定制化服务,可以满足你的个性化配置需求
  • 关于 NotionPet 的专文评测:《国产组件库 NotionPet:为笔记嵌入可视化模块
  • NotionPet 官网:https://notion.pet/home.html
  • FlowUs 息流 - 新一代生产力工具:https://flowus.cn/product

以上是关于如何在Oracle中管理计划任务的主要内容,如果未能解决你的问题,请参考以下文章

linux计划任务管理

Oracle-定时任务

Oracle定时执行计划任务

linux中计划任务管理

WIN10计划任务创建的计划无法修改或者删除怎么办?

Linux中计划任务管理的设置与删除 必看!必看!必看!!!