使用plsql創(chuàng)建定時(shí)任務(wù)并執(zhí)行

前言~

? ? ? ? ? 我們知道plsql工具的使用非常強(qiáng)大,使用它來(lái)創(chuàng)建存儲(chǔ)過(guò)程以及定時(shí)任務(wù)都非常簡(jiǎn)單望拖。上篇文章講解到使用plsql創(chuàng)建存儲(chǔ)過(guò)程及調(diào)試蔓倍,那么今天文章內(nèi)容就是講解使用plsql創(chuàng)建定時(shí)任務(wù)胰舆,以及讓定時(shí)任務(wù)執(zhí)行昨登。


在使用plsql創(chuàng)建定時(shí)任務(wù)之前,我們有必要先了解一下oracle中的job定時(shí)任務(wù)的一些內(nèi)容冀瓦。

1)伴奥、?查詢oracle中的job

oracle查看哪個(gè)存儲(chǔ)過(guò)程對(duì)應(yīng)的哪個(gè)定時(shí)器

select * from dba_jobs t where upper(t.what) like %參數(shù)%;

oracle查詢所有定時(shí)器

select * from dba_jobs;

oracle查看正在運(yùn)行的job

select * from dba_jobs_running;

下面講解一下job的相關(guān)字段內(nèi)容,以便能更加了解

字段(列)? ? ? ? ? ? 類型????????????????????????描述

????job? ? ? ? ? ? ? ? ? number????????????作業(yè)標(biāo)識(shí)符翼闽。無(wú)論是進(jìn)出口還是重復(fù)執(zhí)行都不能改變它拾徙。

log_user????????????varchar2(30)????提交作業(yè)時(shí)登錄的用戶

priv_user???????????varchar2(30)????默認(rèn)權(quán)限應(yīng)用于此作業(yè)的用戶

schema_user? ??varchar2(30)? ??對(duì)任務(wù)作語(yǔ)法分析的用戶模式

last_date? ? ? ? ? ? ? ?date? ? ? ? ? ? ?最后一次成功運(yùn)行任務(wù)的時(shí)間

last_sec? ? ? ? ? ? ?varchar2(8)? ? ?這是最后一次成功執(zhí)行的開始。如hh24:mm:ss格式的? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? last_date日期的小時(shí)感局,分鐘和秒

this_date? ? ? ? ? ? ??date? ? ? ? ? ? ? 正在運(yùn)行任務(wù)的開始時(shí)間尼啡,如果沒有運(yùn)行任務(wù)則為null

this_sec? ? ? ? ? ? ?varchar2(8)? ? ?如hh24:mm:ss格式的this_date日期的小時(shí),分鐘和秒

next_date? ? ?????????date? ? ? ? ? ? ??下一次定時(shí)運(yùn)行任務(wù)的時(shí)間询微,如果為“4000/1/1”,不代表是? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?job沒有運(yùn)行崖瞭,還需查看broken的值

broken? ? ? ? ? ? ? ?varchar2(1)? ? ??如果Y,則不嘗試運(yùn)行此作業(yè)撑毛。

interval? ? ? ? ? ? ? varchar2(200)? 在執(zhí)行開始時(shí)評(píng)估的日期函數(shù)將成為下一個(gè)日期书聚。

failuses? ? ? ? ? ? ?number? ? ? ? ? ? ?這項(xiàng)工作自上次成功以來(lái)曾經(jīng)歷過(guò)多少次失敗?

what? ? ? ? ? ? ? ? ? varchar2(2000) 執(zhí)行任務(wù)的PL/SQL塊(存儲(chǔ)過(guò)程名稱)????

其中最重要的字段就是job 這個(gè)值就是我們操作job的id號(hào)雌续,what 操作存儲(chǔ)過(guò)程的名稱斩个,next_date 執(zhí)行的時(shí)間,interval執(zhí)行間隔


2)西雀、執(zhí)行間隔interval 運(yùn)行頻率

描述????????????????????????????? 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

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

每個(gè)季度最后一天的晚上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)

每秒鐘執(zhí)行1次

Interval => sysdate + 1/(24 * 60 * 60)

如果改成sysdate + 10/(24 * 60 * 60)就是10秒鐘執(zhí)行1次

每分鐘執(zhí)行1次

Interval => TRUNC(sysdate,'mi') + 1/ (24*60)

如果改成TRUNC(sysdate,'mi') + 10/ (24*60) 就是每10分鐘執(zhí)行次

每天定時(shí)執(zhí)行

例如:每天的凌晨1點(diǎn)執(zhí)行

Interval => TRUNC(sysdate) + 1 +1/ (24)

每周定時(shí)執(zhí)行

例如:每周一凌晨1點(diǎn)執(zhí)行

Interval => TRUNC(next_day(sysdate,'星期一'))+1/24

每月定時(shí)執(zhí)行

例如:每月1日凌晨1點(diǎn)執(zhí)行

Interval =>TRUNC(LAST_DAY(SYSDATE))+1+1/24

每季度定時(shí)執(zhí)行

例如每季度的第一天凌晨1點(diǎn)執(zhí)行

Interval => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24

每半年定時(shí)執(zhí)行

例如:每年7月1日和1月1日凌晨1點(diǎn)

Interval => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24

每年定時(shí)執(zhí)行

例如:每年1月1日凌晨1點(diǎn)執(zhí)行

Interval =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24

說(shuō)明一下上面的某些參數(shù)

? ? 1萨驶、查找電腦系統(tǒng)當(dāng)前時(shí)間(sysdate)

sysdate-1:昨天? ? sysdate:今天? ? ? sysdae+1:明天

注意:*允許日期減日期歉摧,但是不允許日期加日期

? ? 2艇肴、計(jì)算兩個(gè)日期之間的月份數(shù):months_between(大的時(shí)間,小的時(shí)間)

? ? 3叁温、增加月份(add_months)

? ? 格式為:add_months(原來(lái)時(shí)間再悼,需要增加的月份數(shù))

? select add_months(sysdate,53) from dual;? -->在當(dāng)前系統(tǒng)時(shí)間的基礎(chǔ)上增加53個(gè)月。

? ? 4膝但、得到當(dāng)月的最后一天(last_day(date))

? ? ? 格式為:select last_day(system);-->現(xiàn)在系統(tǒng)時(shí)間為8月冲九,那么返回的是為8月31日。

? ? 5跟束、達(dá)到滿足條件的下一次的日期(next_day(要查詢的日期莺奸,‘日期數(shù)’))

? ? ? 格式為:select next_day(system,'星期五') from dual;--->得到的是下一周的星期五的天數(shù)? ? ?

? ? ?6、直接抹去字符串中寫的日期冀宴,不包含該日期灭贷,不存在四舍五入的現(xiàn)象trunc(要四舍五入的時(shí)間,‘year/month/dd/或者不填’)

? ? 格式:select trunc (sysdate,'year') from dual ->現(xiàn)在系統(tǒng)時(shí)間是2017年略贮,返回的是:2017-01-01 00:00:00甚疟,

? ? ? ? ? select trunc(sysdate,'dd') from dual->現(xiàn)在系統(tǒng)時(shí)間是2017年8月2號(hào),返回的是:2017-08-02 00:00:00


3)逃延、創(chuàng)建job

基本語(yǔ)法:

declare

? ? variable job number;

begin

? ? sys.dbms_job.submit(job => :job,

? ? what => '存儲(chǔ)過(guò)程名字;',(what保存的是存儲(chǔ)過(guò)程名字览妖,記住后面還有一個(gè)“ ; ”)

? ? next_date =>?下一次執(zhí)行定時(shí)任務(wù)的時(shí)間,系統(tǒng)會(huì)自動(dòng)計(jì)算,

? ? interval => 'sysdate+1/86400');--每天86400秒鐘揽祥,即一秒鐘運(yùn)行prc_name過(guò)程一次

? ? commit;

end;

使用dbms_job.submit方法過(guò)程讽膏,這個(gè)過(guò)程有五個(gè)參數(shù):job、what拄丰、next_date府树、interval與no_parse。

dbms_job.submit(

job? ? ? ? ? ? ? ? ? out? ? ? ? ? ? ? ? ? ? binary_ineger,

what? ? ? ? ? ? ? ? in? ? ? ? ? ? ? ? ? ? ?varchar2,

next_date? ? ? ? in? ? ? ? ? ? ? ? ? ? ?date,

interval? ? ? ? ? ? in? ? ? ? ? ? ? ? ? ? ?varchar2,

no_parse? ? ? ? in? ? ? ? ? ? ? ? ? ? ? booean:=FALSE)

job參數(shù)是輸出參數(shù)愈案,由submit()過(guò)程返回的binary_ineger挺尾,這個(gè)值用來(lái)唯一標(biāo)識(shí)一個(gè)工作。一般定義一個(gè)變量接收站绪,可以去user_jobs視圖查詢job值遭铺。

what參數(shù)是將被執(zhí)行的PL/SQL代碼塊,存儲(chǔ)過(guò)程名稱等。

next_date參數(shù)指識(shí)何時(shí)將運(yùn)行這個(gè)工作魂挂。

interval參數(shù)何時(shí)這個(gè)工作將被重執(zhí)行甫题。

no_parse參數(shù)指示此工作在提交時(shí)或執(zhí)行時(shí)是否應(yīng)進(jìn)行語(yǔ)法分析——true,默認(rèn)值false涂召。指示此PL/SQL代碼在它第一次執(zhí)行時(shí)應(yīng)進(jìn)行語(yǔ)法分析坠非,而FALSE指示本PL/SQL代碼應(yīng)立即進(jìn)行語(yǔ)法分析。


4)果正、其他job相關(guān)的存儲(chǔ)過(guò)程

? ? ? ? 在dbms_job這個(gè)package中還有其他的過(guò)程:broken炎码、change、interval秋泳、isubmit潦闲、next_date、remove迫皱、run歉闰、submit、user_export卓起、what和敬;

1、broken()過(guò)程更新一個(gè)已提交的工作的狀態(tài)戏阅,典型地是用來(lái)把一個(gè)已破工作標(biāo)記為未破工作昼弟。這個(gè)過(guò)程有三個(gè)參數(shù):job 、broken與next_date饲握。

procedure broken (

job? ? ? ? ? ? ? ? ? ? ? ? ?in? ? ? ? ? ? ? ? ? binary_integer,

broken? ? ? ? ? ? ? ? ? ?in? ? ? ? ? ? ? ? ? boolean,

next_date? ? ? ? ? ? ? in? ? ? ? ? ? ? ? ? date := sysdate

)

job參數(shù)是工作號(hào)私杜,它在問題中唯一標(biāo)識(shí)工作。

broken參數(shù)指示此工作是否將標(biāo)記為破——true說(shuō)明此工作將標(biāo)記為破救欧,而false說(shuō)明此工作將標(biāo)記為未破衰粹。

next_date參數(shù)指示在什么時(shí)候此工作將再次運(yùn)行。此參數(shù)缺省值為當(dāng)前日期和時(shí)間笆怠。

job如果由于某種原因未能成功執(zhí)行铝耻,oracle將重試16次后,還未能成功執(zhí)行蹬刷,將被標(biāo)記為broken瓢捉,重新啟動(dòng)狀態(tài)為broken的job,有如下兩種方式;

a办成、利用dbms_job.run()立即執(zhí)行該job

begin

dbms_job.run(:job) --該job為submit過(guò)程提交時(shí)返回的job number或是去dba_jobs去查找對(duì)應(yīng)job的編號(hào)

end;

b泡态、利用dbms_job.broken()重新將broken標(biāo)記為false

begin

dbms_job.broken (:job, false, next_date)

end;

2、change()過(guò)程用來(lái)改變指定job的設(shè)置迂卢。

這個(gè)過(guò)程有四個(gè)參數(shù):job某弦、what 桐汤、next_date、interval靶壮。

procedure change (

job? ? ? ? ? ? ? ? ? ? ? ? ?in? ? ? ? ? ? ? ? ? binary_integer,

what? ? ? ? ? ? ? ? ? ? ? in? ? ? ? ? ? ? ? ? varchar2,

next_date? ? ? ? ? ? ?in? ? ? ? ? ? ? ? ? date,

interval? ? ? ? ? ? ? ? ?in? ? ? ? ? ? ? ? ? varchar2

)

此job參數(shù)是一個(gè)整數(shù)值怔毛,它唯一標(biāo)識(shí)此工作。

what參數(shù)是由此job運(yùn)行的一塊PL/SQL代碼塊腾降。

next_date參數(shù)指示何時(shí)此job將被執(zhí)行拣度。

interval參數(shù)指示一個(gè)job重執(zhí)行的頻度。

3螃壤、interval()過(guò)程用來(lái)顯式地設(shè)置重復(fù)執(zhí)行一個(gè)job之間的時(shí)間間隔數(shù)抗果。

這個(gè)過(guò)程有兩個(gè)參數(shù):job、interval映穗。

procedure interval(

job? ? ? ? ? ? ? ? ? ? ? ? ?in? ? ? ? ? ? ? ? ? binary_integer,?

interval? ? ? ? ? ? ? ? ? in? ? ? ? ? ? ? ? ?varchar2

)

job參數(shù)標(biāo)識(shí)一個(gè)特定的工作窖张。

interval參數(shù)指示一個(gè)工作重執(zhí)行的頻度。

4蚁滋、isubmit()過(guò)程用來(lái)用特定的job號(hào)提交一個(gè)job。

這個(gè)過(guò)程有五個(gè)參數(shù):job赘淮、what辕录、next_date、interval梢卸、no_parse走诞。

procedure isubmit (

job? ? ? ? ? ? ? ? ? ? ? ? ?in? ? ? ? ? ? ? ? ? binary_integer,

what? ? ? ? ? ? ? ? ? ? ? in? ? ? ? ? ? ? ? ? varchar2,

next_date? ? ? ? ? ? ?in? ? ? ? ? ? ? ? ? date,

interval? ? ? ? ? ? ? ? ?in? ? ? ? ? ? ? ? ? varchar2,

no_parse? ? ? ? ? ? ?in? ? ? ? ? ? ? ? ? ?booean := FALSE

)

這個(gè)過(guò)程與submit()過(guò)程的唯一區(qū)別在于此job參數(shù)作為IN型參數(shù)傳遞且包括一個(gè)由開發(fā)者提供的job號(hào)。如果提供的job號(hào)已被使用蛤高,將產(chǎn)生一個(gè)錯(cuò)誤蚣旱。

5、next_date()過(guò)程用來(lái)顯式地設(shè)定一個(gè)job的執(zhí)行時(shí)間戴陡。這個(gè)過(guò)程接收兩個(gè)參數(shù):job塞绿、next_date。

procedure next_date(

job? ? ? ? ? ? ? ? ? ? ? ? ?in? ? ? ? ? ? ? ? ? binary_integer,

next_date? ? ? ? ? ? ?in? ? ? ? ? ? ? ? ? date

)

job標(biāo)識(shí)一個(gè)已存在的工作恤批。

next_date參數(shù)指示了此job應(yīng)被執(zhí)行的日期异吻、時(shí)間。

6喜庞、remove()過(guò)程來(lái)刪除一個(gè)已計(jì)劃運(yùn)行的job诀浪。這個(gè)過(guò)程接收一個(gè)參數(shù):

procedure remove(job IN binary_ineger);

job參數(shù)唯一地標(biāo)識(shí)一個(gè)工作這個(gè)參數(shù)的值是由為此工作調(diào)用submit()過(guò)程返回的job參數(shù)的值,已正在運(yùn)行的job不能刪除延都。

7雷猪、run()過(guò)程用來(lái)立即執(zhí)行一個(gè)指定的job。這個(gè)過(guò)程只接收一個(gè)參數(shù):

procedure run(job IN binary_ineger)

job參數(shù)標(biāo)識(shí)將被立即執(zhí)行的工作晰房。

8求摇、使用submit()過(guò)程酵颁,job被正常地計(jì)劃。上面以講述

9月帝、user_export()過(guò)程返回一個(gè)命令躏惋,此命令用來(lái)安排一個(gè)存在的job以便此job能重新提交。此程序有兩個(gè)參數(shù):job嚷辅、my_call簿姨。

procedure user_export(

job? ? ? ? ? ? ? ? ? ? ? ? ?in? ? ? ? ? ? ? ? ? binary_integer,

my_call? ? ? ? ? ? ? ? ?in out? ? ? ? ? ? varchar2

)

job參數(shù)標(biāo)識(shí)一個(gè)安排了的工作。

my_call參數(shù)包含在它的當(dāng)前狀態(tài)重新提交此job所需要的正文簸搞。

10扁位、what()過(guò)程應(yīng)許在job執(zhí)行時(shí)重新設(shè)置此正在運(yùn)行的命令。這個(gè)過(guò)程接收兩個(gè)參數(shù):job趁俊、what域仇。

procedure what (

job? ? ? ? ? ? ? ? ? ? ? ? ?in? ? ? ? ? ? ? ? ? binary_integer,

what? ? ? ? ? ? ? ? ? ? ? in? ? ? ? ? ? ? ? ? varchar2

)

job參數(shù)標(biāo)識(shí)一個(gè)存在的工作。

what參數(shù)指示將被執(zhí)行的新的PL/SQL代碼寺擂。實(shí)現(xiàn)的功能:每隔一分鐘自動(dòng)向getSysDate表中插入當(dāng)前的系統(tǒng)時(shí)間暇务。


5)、job的相關(guān)方法

1怔软、停止job

execute dbms_job.broken(27, true, sysdate);---該27表示oracle系統(tǒng)中job定時(shí)任務(wù)的job字段

begin

dbms_job.broken(27, true, sysdate);---該27表示oracle系統(tǒng)中job定時(shí)任務(wù)的job字段

commit;

end垦细;

/

2、運(yùn)行job

execute dbms_job.run(27);---該27表示oracle系統(tǒng)中job定時(shí)任務(wù)的job字段

begin

dbms_job.run(27);

end挡逼;

begin

? ? dbms_job.broken(423, false,sysdate);---該423表示的是oracle系統(tǒng)中job定時(shí)任務(wù)的job字段

? ? commit;

end;

/

3括改、刪除job

begin

dbms_job.remove(27);? ? ---該27表示的是oracle系統(tǒng)中job定時(shí)任務(wù)的job字段

end;


6)家坎、關(guān)于設(shè)置job任務(wù)數(shù)量和控制并發(fā)

初始化相關(guān)參數(shù)job_queue_processes

alter system set job_queue_processes = 39 scope = spfile;//最大值不能超過(guò)1000;

job_queue_interval = 10; //調(diào)度作業(yè)刷新頻率秒為單位

job_queue_process 表示oracle能夠并發(fā)的job的數(shù)量嘱能,sqlplus中可以通過(guò)語(yǔ)句

show parameter job_queue_process; 來(lái)查看oracle中job_queue_process的值。

select * from v$parameter;

select name, description from v$bgprocess;

當(dāng)job_queue_process值為0時(shí)表示全部停止oracle的job虱疏,可以通過(guò)語(yǔ)句

alter system set job_queue_processes = 10;

來(lái)調(diào)整啟動(dòng)oracle的job惹骂。

如果將job_queue_processes 的值設(shè)置為1的話,那就是串行運(yùn)行订框,即快速切換執(zhí)行一個(gè)job任務(wù)析苫。


7)、使用plsql創(chuàng)建定時(shí)任務(wù)步驟

(1)穿扳、登錄plsql后衩侥,在對(duì)象框中找到“DBMS_Jobs”,點(diǎn)擊右鍵 ,找到新建矛物,如圖所示:

(2)茫死、就進(jìn)入到新建job界面,如圖所示:


8)履羞、job不運(yùn)行的大概原因

(1)峦萎、上面講解了job的參數(shù):與job相關(guān)的參數(shù)一個(gè)是job_queue_processes屡久,這個(gè)是運(yùn)行job時(shí)候所起的進(jìn)程數(shù),當(dāng)然系統(tǒng)里面job大于這個(gè)數(shù)值后爱榔,就會(huì)有排隊(duì)等候的被环,最小值是0,表示不運(yùn)行job详幽,最大值是1000筛欢,在OS上對(duì)應(yīng)的進(jìn)程時(shí)SNPn,9i以后OS上管理job的進(jìn)程叫CJQn唇聘“婀茫可以使用下面這個(gè)SQL確定目前有幾個(gè)SNP/CJQ在運(yùn)行。

select * from v$bgprocess迟郎,這個(gè)paddr不為空的snp/cjq進(jìn)程就是目前空閑的進(jìn)程剥险,有的表示正在工作的進(jìn)程。

另外一個(gè)是job_queue_interval宪肖,范圍在1--3600之間表制,單位是秒,這個(gè)是喚醒JOB的process匈庭,因?yàn)槊看蝧np運(yùn)行完他就休息了锈遥,需要定期喚醒他书幕,這個(gè)值不能太小,太小會(huì)影響數(shù)據(jù)庫(kù)的性能规阀。

先確定上面這兩個(gè)參數(shù)設(shè)置是否正確魔熏,特別是第一個(gè)參數(shù)衷咽,設(shè)置為0了,所有job就不會(huì)自動(dòng)運(yùn)行了蒜绽。

(2)镶骗、使用下面的SQL查看job的的broken,last_date和next_date躲雅,last_date是指最近一次job運(yùn)行成功的結(jié)束時(shí)間鼎姊,next_date是根據(jù)設(shè)置的頻率計(jì)算的下次執(zhí)行時(shí)間,根據(jù)這個(gè)信息就可以判斷job上次是否正常相赁,還可以判斷下次的時(shí)間對(duì)不對(duì)相寇,SQL如下:

select * from dba_jobs;

有時(shí)候我們發(fā)現(xiàn)他的next_date是4000年1月1日,說(shuō)明job要不就是在running钮科,要不就是狀態(tài)是break(broken=Y)唤衫,如果發(fā)現(xiàn)job的broken值為Y,找用戶了解一下绵脯,確定該job是否可以broken佳励,如果不能broken休里,那就把broken值修改成N,修改再使用上面的SQL查看就發(fā)現(xiàn)它的last_date已經(jīng)變了赃承,job即可正常運(yùn)行妙黍,修改broken狀態(tài)的SQL如下:

begin

DBMS_JOB.BROKEN(, FALSE);

end;

(3)、使用下面的SQL查詢是否job還在running

select * from dba_jobs_running;

如果發(fā)現(xiàn)job已經(jīng)Run了很久了還沒有結(jié)束瞧剖,就要查原因了拭嫁。一般的job running時(shí)會(huì)鎖定相關(guān)的相關(guān)的資源,可以查看一下v$access和v$locked_object這兩個(gè)view筒繁。如果發(fā)現(xiàn)其他進(jìn)程鎖定了與job相關(guān)的object噩凹,包括package/function/procedure/table等資源,那么就要把其他進(jìn)程刪除毡咏,有必要的話驮宴,把job的進(jìn)程也刪除,再重新執(zhí)行看看結(jié)果呕缭。

(4)堵泽、如果上面都正常,但是job還不run恢总,怎么辦迎罗?那我們要考慮把job進(jìn)程重啟一次,防止是SNP進(jìn)程死了造成job不跑片仿,指令如下:

alter system set job_queue_processes = 0; --關(guān)閉job進(jìn)程纹安,等待5--10秒鐘

alter system set job_quene_processes = 5; --恢復(fù)原來(lái)的值

(5)、Oracle的BUG:Oracle9i里面有一個(gè)BUG砂豌,當(dāng)計(jì)數(shù)器到497天時(shí)厢岂,剛好達(dá)到它的最大值,再計(jì)數(shù)就會(huì)變成-1阳距,繼續(xù)計(jì)數(shù)就變成0了塔粒,然后計(jì)數(shù)器將不再跑了。如果碰到這種情況就得重啟數(shù)據(jù)庫(kù)筐摘,但是其他的Oracle7345和Oracle8i的數(shù)據(jù)庫(kù)沒有發(fā)現(xiàn)這個(gè)問題卒茬。

(6)、數(shù)據(jù)庫(kù)上的檢查基本上就這多咖熟,如果job運(yùn)行還有問題圃酵,那需要看一下是否是程序本身的問題,比如處理的資料量大球恤,或者網(wǎng)絡(luò)速度慢等造成運(yùn)行時(shí)過(guò)長(zhǎng)辜昵,那就需要具體情況具體分析了。我們可以通過(guò)下面的SQL手工執(zhí)行一下job看看:

begin

dbms_job.run(_ID)

end;

如果發(fā)現(xiàn)job執(zhí)行不正常咽斧,就要結(jié)合程序具體分析一下堪置。


最后真心的感謝大家能觀看我寫的文章躬存,如存在什么不足的地方,請(qǐng)下方給我留言舀锨!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末岭洲,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子坎匿,更是在濱河造成了極大的恐慌盾剩,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件替蔬,死亡現(xiàn)場(chǎng)離奇詭異告私,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)承桥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門驻粟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人凶异,你說(shuō)我怎么就攤上這事蜀撑。” “怎么了剩彬?”我有些...
    開封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵酷麦,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我喉恋,道長(zhǎng)沃饶,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任轻黑,我火速辦了婚禮绍坝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘苔悦。我一直安慰自己,他們只是感情好椎咧,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開白布玖详。 她就那樣靜靜地躺著,像睡著了一般勤讽。 火紅的嫁衣襯著肌膚如雪蟋座。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天脚牍,我揣著相機(jī)與錄音向臀,去河邊找鬼。 笑死诸狭,一個(gè)胖子當(dāng)著我的面吹牛券膀,可吹牛的內(nèi)容都是我干的君纫。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼芹彬,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蓄髓!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起舒帮,我...
    開封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤会喝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后玩郊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體肢执,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年译红,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了预茄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡临庇,死狀恐怖反璃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情假夺,我是刑警寧澤淮蜈,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站已卷,受9級(jí)特大地震影響梧田,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜侧蘸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一裁眯、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧讳癌,春花似錦穿稳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至骤菠,卻和暖如春它改,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背商乎。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工央拖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓鲜戒,卻偏偏與公主長(zhǎng)得像专控,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子袍啡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 一踩官、1.創(chuàng)建一張測(cè)試表 2.創(chuàng)建存儲(chǔ)過(guò)程 實(shí)現(xiàn)向測(cè)試表插入數(shù)據(jù) 3.創(chuàng)建job定時(shí)任務(wù) 實(shí)現(xiàn)自動(dòng)調(diào)用存儲(chǔ)過(guò)程(當(dāng)...
    咚了個(gè)汐閱讀 593評(píng)論 0 1
  • ORACLE日期時(shí)間函數(shù)大全 TO_DATE格式(以時(shí)間:2007-11-02 13:45:25為例) Year:...
    雨一流閱讀 674評(píng)論 0 2
  • DBMS_JOB包對(duì)于任務(wù)隊(duì)列提供了下面這些功能:提交并且執(zhí)行一個(gè)任務(wù)、改變?nèi)蝿?wù)的執(zhí)行參數(shù)以及刪除或者臨時(shí)掛起任務(wù)...
    xiang205012閱讀 1,304評(píng)論 0 0
  • 1.簡(jiǎn)介 數(shù)據(jù)存儲(chǔ)有哪些方式境输?電子表格蔗牡,紙質(zhì)文件,數(shù)據(jù)庫(kù)嗅剖。 那么究竟什么是關(guān)系型數(shù)據(jù)庫(kù)辩越? 目前對(duì)數(shù)據(jù)庫(kù)的分類主要是...
    喬震閱讀 1,715評(píng)論 0 2
  • 為什么要有這樣的一個(gè)東西呢? 來(lái)到大廳信粮,烏央央的人黔攒,這么便捷的手機(jī)時(shí)代,為什么還要在這里耗費(fèi)時(shí)間呢强缘? 百度了一下為...
    炬焱閱讀 265評(píng)論 0 0