真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

oracle定時器怎么開,oracle定時器每天九點(diǎn)執(zhí)行

oracle12c定時任務(wù)怎么自動執(zhí)行

1.引言

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站制作、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)洛江,十多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220

定制定時執(zhí)行的任務(wù)有兩種形式,系統(tǒng)級別和數(shù)據(jù)庫級別,

從操作系統(tǒng)級別來講,

windows系統(tǒng)我們可以使用任務(wù)計劃來實現(xiàn),

對于winXP系統(tǒng),設(shè)置步驟如下,開始---設(shè)置---控制面板---任務(wù)計劃,然后添加任務(wù)計劃,按向?qū)瓿膳渲眉纯?

對于win7系統(tǒng),設(shè)置步驟如下,點(diǎn)擊開始,然后在 搜索程序和文件 框中輸入 [任務(wù)計劃],然后點(diǎn)擊出來的任務(wù)計劃程序,創(chuàng)建一個基本任務(wù)即可;

linux系統(tǒng)我們可以使用crontab命令來是實現(xiàn),

關(guān)于crontab命令的使用可以見之前的博客

從數(shù)據(jù)庫級別來講,我們可以采用數(shù)據(jù)庫的job來實現(xiàn);

本節(jié)主要介紹通過oracle數(shù)據(jù)庫的job來定制一個簡單的定時執(zhí)行任務(wù)。本節(jié)會采用oracle定制一個定時向一個表中插入語句。

這里聊一下我做這個oracle定時任務(wù)的緣由:

項目中要在固定的時間,把一個數(shù)據(jù)庫中某些表的數(shù)據(jù)同步到另外一個數(shù)據(jù)庫,顯然這些工作我不能每次都自己去做,

那么,我要怎么來做呢?這個時候oracle的定時執(zhí)行任務(wù)JOB無疑是我的最佳選擇。我把同步的腳本放在一個存儲過程中,

然后在固定的時間去執(zhí)行這個存儲過程就OK了。

注意:以下所有的操作都是在sytem用戶下執(zhí)行。采用PL/SQL做的客戶端登陸。

oracle自動定期執(zhí)行存儲過程

用job

oracle定時器調(diào)用存儲過程

1.創(chuàng)建一個表,為了能清楚看到定時器的運(yùn)行情況我們創(chuàng)建一個帶有日期字段的表

Sql代碼

create table job_table(run_time date);

create table job_table(run_time date);

2.創(chuàng)建存儲過程

Sql代碼

create or replace procedure job_proc is

begin

insert into job_table (run_time) values (sysdate);

end;

create or replace procedure job_proc is

begin

insert into job_table (run_time) values (sysdate);

end;

3.創(chuàng)建job,并且指定為一分鐘執(zhí)行一次

Sql代碼

declare

job number;

begin

dbms_job.submit(job, 'job_proc;', sysdate, 'TRUNC(sysdate,''mi'') + 1 / (24*60)');

end/

commit;

declare

job number;

begin

dbms_job.submit(job, 'job_proc;', sysdate, 'TRUNC(sysdate,''mi'') + 1 / (24*60)');

end/

commit;

4.創(chuàng)建之后自動處于運(yùn)行狀態(tài),我們查詢job表,看看我們創(chuàng)建的job

Sql代碼

select job,broken,what,interval,t.* from user_jobs t;

select job,broken,what,interval,t.* from user_jobs t;

job broken what interval ...

81 N job_proc; TRUNC(sysdate,'mi') + 1 / (24*60) ...

參數(shù)介紹

job job的唯一標(biāo)識,自動生成的

broken 是否處于運(yùn)行狀態(tài),N;運(yùn)行;Y:停止

what 存儲過程名稱

interval 定義的執(zhí)行時間

補(bǔ)充:

描述 INTERVAL參數(shù)值

每天午夜12點(diǎn) ''TRUNC(SYSDATE + 1)''

每天早上8點(diǎn)30分 ''TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)''

每星期二中午12點(diǎn) ''NEXT_DAY(TRUNC(SYSDATE ), ''''TUESDAY'''' ) + 12/24''

每個月第一天的午夜12點(diǎn) ''TRUNC(LAST_DAY(SYSDATE ) + 1)''

每個季度最后一天的晚上11點(diǎn) ''TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), ''Q'' ) -1/24''

每星期六和日早上6點(diǎn)10分 ''TRUNC(LEAST(NEXT_DAY(SYSDATE, ''''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)''

怎么在oracle中做定時器呢?

創(chuàng)建scheduler,PL/SQL Developer里可以直接創(chuàng)建,也可以寫SQL創(chuàng)建,類似以下語法:

begin

sys.dbms_scheduler.create_schedule(schedule_name = 'FRQ_CATALOG.TT',

start_date = to_date('18-10-2011 00:00:00', 'dd-mm-yyyy hh24:mi:ss'),

repeat_interval = 'Freq=Daily;Interval=0',

end_date = to_date('31-10-2011 00:00:00', 'dd-mm-yyyy hh24:mi:ss'),

comments = '');

end;

如果懂了希望點(diǎn)一下采納

如何使用plsql工具創(chuàng)建oracle數(shù)據(jù)庫的定時器

通過plsql查看tables、views等文件夾,找到定時器對應(yīng)的DBMS_Jobs文件夾。

在文件夾或者在已有的定時器上右鍵 new... 創(chuàng)建一個新的job(定時器)

輸入紅色選中的必輸參數(shù)。What里面是一些存儲過程,可以是一個或者多個。多個之間用分好;隔開,可以數(shù)據(jù)一下注釋說明,格式“/*存過說明*/。點(diǎn)擊應(yīng)用即可保存。點(diǎn)擊View SQL可以查看job對應(yīng)的sql腳本。

如果想查看一些腳本,處理通過打開文件夾的方式,也可以使用更方便的sql語句進(jìn)行查看。

SELECT * FROM dba_jobs;

注意,如果next_date是4000-1-1表示這個腳本已經(jīng)是停止?fàn)顟B(tài)。

如果想查詢某個存儲過程對應(yīng)的哪個job可以通過dba_jobs表中what字段根據(jù)條件查詢查看job.

dba_jobs中的job字段對應(yīng)的值就和DBMS_Jobs中對應(yīng)的數(shù)字是一致的,可以對信息進(jìn)行修改更新。


文章標(biāo)題:oracle定時器怎么開,oracle定時器每天九點(diǎn)執(zhí)行
本文URL:http://weahome.cn/article/hoohih.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部