oracle 定时 job

最近在工作中遇到了要在oracle里面创建一个定时job,从远程数据库里面定时把某张表里面的数据更新到本地服务器上某个表里,具体操作:

1、在自己数据库里面先创建一张表test

create table TEST

(

ID     NUMBER(12),

C_DATE DATE

)

2、创建一个序列 sequence

create sequence G_SEQ

minvalue 1                    --最小值是1

maxvalue 999999999999999999999999999

start with 1             --------从1开始

increment by 1        ---------每次加1

cache 20;


3、创建一个存储过程

create or replace procedure prc_g_test is

begin

insert into g_test values(g_seq.nextval,sysdate);

end prc_g_test;

如:insert into FINANCEINFO(FINANCEID,FINANCENAME,OTHERS) select g_seq.nextval,m.NAME,u.PWD from USERS u,MENU m where u.KEYID=m.ID

4、创建一个job

declare  

job number;     

begin

sys.dbms_job.submit(job,'prc_g_test;',sysdate,'sysdate+1/1440'); //每分钟执行一次

end;

4. 查看作业

select * from dba_jobs;
select job,THIS_DATE, NEXT_DATE, WHAT from dba_jobs;


5.启动定时任务
begin
   dbms_job.run(25);
   commit;
end;

6.停止定时任务
   begin
    dbms_job.remove(25);  //25就是该job的唯一编号
    end;

7.查看编号(jobno)
 select job from dba_jobs;

8.定时器常用的时间格式:

每天运行一次 'SYSDATE + 1'
每小时运行一次 'SYSDATE + 1/24'
每10分钟运行一次 'SYSDATE + 10/(60*24)'
每30秒运行一次 'SYSDATE + 30/(60*24*60)'
每隔一星期运行一次 'SYSDATE + 7'

posted @   .NET_海  阅读(131)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示