首页 > 数据库 >Oracle 创建定时任务 DBMS_JOB

Oracle 创建定时任务 DBMS_JOB

时间:2023-04-21 10:36:23浏览次数:56  
标签:DBMS -- JOB UPDATE job Oracle DT 定时 dbms

需求:创建一个每天凌晨一点执行的任务(存储过程)

1、创建存储过程

-- 一般存储过程语法
CREATE OR REPLACE PROCEDURE UPDATE_LABEL_TABLE_DATE_DT IS
BEGIN
	UPDATE IC_CO_BAE_INFO SET DT = TO_CHAR(TRUNC(SYSDATE-1), 'yyyy-MM-dd');
	UPDATE IC_RG_RRG_INFO_V1 SET DT = TO_CHAR(TRUNC(SYSDATE-1), 'yyyy-MM-dd');
	UPDATE IC_VE_CAT_INFO SET DT = TO_CHAR(TRUNC(SYSDATE-1), 'yyyy-MM-dd');
END;

2、创建定时任务

-- dbms_job.submit(作业名, '存储过程名;', 定时类型, 任务执行时间点);
DECLARE UPDATE_LABEL_TABLE_DATE_DT_JOB NUMBER;
BEGIN
	dbms_job.submit( UPDATE_LABEL_TABLE_DATE_DT_JOB, 'UPDATE_LABEL_TABLE_DATE_DT;', SYSDATE, 'sysdate+5/86400' );
commit;
END;

-- 查看创建的定时任务(dydsba查看表:dba_jobs)
select * from user_jobs;

4、启动定时任务

-- 1、获取当前作业job ID,假设为:3
select job from user_jobs where WHAT='UPDATE_LABEL_TABLE_DATE_DT;'
-- 2、执行job任务
begin
  dbms_job.run(3);
  commit;
end;

5、停止定时任务

begin
  dbms_job.broken(3, true);
  commit;
end;

6、修改定时任务

-- 1、修改定时任务时间:改为每日凌晨一点执行
-- // TODO dbms_job.interval  语法详解
begin
  dbms_job.interval(3, 'TRUNC(sysdate) + 1 +1/(24)');
  commit;
end;

7、删除定时任务

begin
  dbms_job.remove(3,);
  commit;
end;

标签:DBMS,--,JOB,UPDATE,job,Oracle,DT,定时,dbms
From: https://www.cnblogs.com/DeepInThought/p/17339139.html

相关文章

  • mybatis 调用 oracle 带包存储过程(有out参数)
    https://blog.csdn.net/u010925982/article/details/102958001  1.先写xml映射文件<selectid="call"parameterType="java.util.HashMap"statementType="CALLABLE"resultType="java.util.HashMap"><!--call包名.方法名(参数)-......
  • k8s编写cronjob
    1.k8s编写cronjob的知识点:通过sed对cronjob的yaml文件中的image属性进行替换:seds/old/new/gfile当old和new均为变量的时候,书写方式如下:sed-i's#'''$old_image'''#'''$new_image'''#g'quota-cronjob.yaml 2.cron......
  • oracle数字类函数
    Oracle数据库中所有的数字类函数:ABS:返回指定数值的绝对值ACOS:返回指定角度的反余弦值ASIN:返回指定角度的反正弦值ATAN:返回指定数字的反正切值ATAN2:返回两个数值的反正切值CEIL:返回大于或等于指定数字的最小整数(向上取整)COS:返回指定角度的余弦值COSH:返回......
  • oracle字符类函数
    Oracle数据库中所有的字符类函数:ASCII:返回某个字符的ASCII码值ASCIISTR:返回字符的ASCII码值的字符串表示CHR:返回指定ASCII码对应的字符CONCAT:连接两个字符串CONVERT:将一个字符集转换成另一个字符集INITCAP:将字符串每个单词首字母大写INSTR:返回字符串中子串的......
  • oracle日期和时间类函数
    Oracle中所有的日期和时间类函数:SYSDATE:返回当前日期和时间CURRENT_DATE:返回当前日期CURRENT_TIMESTAMP:返回当前的日期和时间戳LOCALTIMESTAMP:返回当前时间戳TIMESTAMPADD:在日期上增加一定的数量TIMESTAMPDIFF:计算两个日期之间的时间差EXTRACT:从日期时间......
  • oracle去掉回车换行空格操作
    评:去除换行updatezhzl_addresstsett.add_administration_num=replace(t.add_administration_num,chr(10),'');去掉回车updatezhzl_addresstsett.add_administration_num=replace(t.add_administration_num,chr(13),'');去掉空格updatezhzl_addre......
  • OpenKruise V1.4 版本解读:新增 Job Sidecar Terminator 能力
    作者:立衡前言OpenKruise是阿里云开源的云原生应用自动化管理套件,也是当前托管在CloudNativeComputingFoundation(CNCF)下的孵化项目。它来自阿里巴巴多年来容器化、云原生的技术沉淀,是阿里内部生产环境大规模应用的基于Kubernetes之上的标准扩展组件,也是紧贴上游社区标......
  • 批量清除 Jenkins Job 的构建信息
    要批量清除JenkinsJob的构建信息,您可以使用Jenkins的Groovy脚本执行器。请按照以下步骤操作:登录到Jenkins管理界面。点击左侧导航栏中的"管理Jenkins"。向下滚动并找到"脚本控制台",点击进入。在脚本控制台中,粘贴以下Groovy脚本(根据需要修改脚本中的Job......
  • Oracle“ORA-38104: 无法更新ON子句中引用的列”解决方式
    参考:MERGEINTOQLIK_CONFIG_MAPPING_REPORTUSINGdualON(CONFIG_ID=2ANDREPORT_ID=6)WHENMATCHEDTHENUPDATESET"CONFIG_ID"=2,"REPORT_ID"=6WHENNOTMATCHEDTHENINSERT("CONFIG_ID","REPORT_ID")VALUES(2,6);......
  • excel文档导入到Oracle表中方法
    第一种方式:excel文本中的列名最好是英文名,方便导入的时候对数据库表中的列名,中文名可能会出错另一种方法:该方法比较简便可以直接通过'select*from表名forupdate',直接复制粘贴excel中的字段到表中第一种方式导入:在plsql中,工具→ODBC导入器→来自ODBC的数据输入用户/系统......