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'
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .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 接口并集成到在线客服系统