一秘血、調(diào)度的概述
這里我看到一篇對(duì)調(diào)度的概述覺得描述的比我好席吴,但僅限于概述部分溅漾,其他部分我覺得我講的比他好扩淀,于是發(fā)生以下事情:
************************華麗的轉(zhuǎn)載*************************************************************************
在Oracle中任務(wù)調(diào)度指某一執(zhí)行程序在特定的時(shí)間被周期性的執(zhí)行哎甲。Oracle把任務(wù)調(diào)度稱為job蔫敲。而一個(gè)基本的job由兩方面組成program和schedule。其中program指周期性執(zhí)行的可執(zhí)行程序炭玫,其中可包括PL\SQL匿名塊奈嘿,存儲(chǔ)過程、函數(shù)础嫡、包以及操作系統(tǒng)的可執(zhí)行腳本和外部程序等等指么。schedule指的是,調(diào)度program執(zhí)行的周期榴鼎。該周期既可以基于特定時(shí)間被調(diào)度伯诬,也可以基于某一事件被調(diào)度。因而JOB總體上可分為兩大類巫财,基于時(shí)間的JOB和基于事件的JOB盗似。在Oracle 10g之前,采用dbms_job程序包來完成任務(wù)調(diào)度的相關(guān)工作平项。在Oracle 10g之后赫舒,Oracle推出了功能更加強(qiáng)大的dbms_schedule來完成任務(wù)調(diào)度工作,主要是由于dbms_schedule能夠基于事件進(jìn)行任務(wù)調(diào)度而dbms_job無法基于事件進(jìn)行調(diào)度(筆者個(gè)人淺見闽瓢,待驗(yàn)證)接癌!
************************華麗的轉(zhuǎn)載*************************************************************************
?二、調(diào)度的作用
作用的話我可以使用第一張圖片來描述扣讼。如果用一句話來描述的話那就是:簡(jiǎn)化管理任務(wù)缺猛。
三、調(diào)度的組成
調(diào)度的話包含著3個(gè)部分,用一句話來描述那就是:程序+調(diào)度計(jì)劃+作業(yè)=調(diào)度
如果用一張圖片來描述的話那就是:
四荔燎、創(chuàng)建一個(gè)機(jī)遇時(shí)間的調(diào)度
1耻姥、我比較喜歡講程序、調(diào)度計(jì)劃和作業(yè)分開創(chuàng)建有咨,使用的時(shí)候?qū)⑺麄冴P(guān)聯(lián)組織在一塊形成一個(gè)調(diào)度琐簇,而不喜歡創(chuàng)建一個(gè)作業(yè),里面稀里嘩啦的包含著一大堆的內(nèi)容座享。
2婉商、這次我使用EM企業(yè)管理器來創(chuàng)建會(huì)比較簡(jiǎn)單,因?yàn)閳D形化界面就是越來越方便征讲,而且里面的show sql實(shí)在是我們這些對(duì)sql命令不愛記憶的人的一大神器据某。不過有些命令還是要記住的,不然顯得我們不夠?qū)I(yè)诗箍。
創(chuàng)建一個(gè)測(cè)試表:?job_test
conn hr/hr
create table job_test(sdate date);
3、看圖挽唉,按照順序我們先創(chuàng)建一個(gè)程序:程序就是我們整個(gè)調(diào)度要做的事情都放在這里滤祖。
其中的source就是我們要執(zhí)行這個(gè)調(diào)度要做什么的動(dòng)作要寫在這里面。這次我們要做的就是每隔一秒插入一條記錄到j(luò)ob_test這張表中瓶籽。
4匠童、創(chuàng)建一個(gè)調(diào)度計(jì)劃。調(diào)度計(jì)劃的計(jì)劃類型有:標(biāo)準(zhǔn)的和事件類型的塑顺。這次我么選擇標(biāo)準(zhǔn)的調(diào)度計(jì)劃汤求。
5、創(chuàng)建一個(gè)作業(yè)严拒,然后將程序和調(diào)度計(jì)劃管理組織在一起形成一個(gè)調(diào)度扬绪。
看最下面,這里我們使用剛才創(chuàng)建好的程序:
使用預(yù)定義的調(diào)度計(jì)劃:
至此裤唠,只要點(diǎn)擊OK就可以讓完成這個(gè)作業(yè)了挤牛。
6、開始調(diào)度過程:
查看作業(yè)是否正常運(yùn)行:
可以看出种蘸,基于時(shí)間的調(diào)度是正常運(yùn)行的墓赴。