PL SQL中對job的操作 建立,停止,查詢

2021-09-25 21:25:27 字數 1514 閱讀 5452

job的快速搭建

首先給大家分享如何快速搭建job,以及各個名詞的含義

name:job名稱

enabled:job是否生效。勾選預設生效,如果不勾選,手動執行也可以執行,只是不會週期性執行。

type:支援三種型別:

1)plsql_block——pl/sql語句塊;

2)stored_procedure——儲存過程;

3)executable——外部程式(外部程式可以是乙個shell指令碼,也可以是作業系統級別的指令)。

工作過程中多使用 pl/sql語句塊

action:根據type的型別寫入規則

舉個簡單的例子:

begin p_stat_ep_less_bag(sysdate-1.5/24,sysdate-1/24,0); end;
sysdate-1.5/24 sysdate-1/24是給儲存過程傳的值 ,代表的含義是開始時間為現在的乙個半小時,結束時間是現在的乙個小時

start date:job執行的開始時間

end date :job 從什麼時候棄用(不確定可不填)

frequency:頻率 執行週期 可選年/月 /天/小時/分鐘為單位

interval:間隔 假設frequency選了分鐘,間隔寫15那就是15分鐘執行一次

還有乙個要選的就是job_class 選擇job日誌的日誌級別

日誌級別由兩個因素決定,乙個是job自己日誌級別,別乙個是使用的job cloass的日誌級別,取兩者中的最高值。

job建立時日誌級別預設是dbms_scheduler.logging_runs,

建立的job時,如果不指定job class,預設為default_job_class,而default_job_class預設logging level是dbms_scheduler.logging_runs,

所以建立的job的logging level至少是logging_runs。

如果不產生日誌,必須禁止job自己日誌級別,同時不能使用預設的預設為default_job_class。

將正在執行的job停止執行

啟用:dbms_scheduler.enable(『job_name』);

執行:dbms_scheduler.run_job(『job_name』);

停止:dbms_scheduler.stop_job(『job_name』);

在工作中我們會遇到乙個問題就是知道用的那個表但是不知道出自哪個儲存過程,該儲存過程屬於哪個job呼叫

根據儲存過程尋找job

select * from user_scheduler_jobs t

where upper(t.job_action) like 『%p_stat_cd_order%』;

PL SQL中job建立及刪除

plsql中學習job 學習job 建表 create table test job para date date commit insert into test job values sysdate commit select from test job 建立存貯過程 create orrepla...

Plsql建立Job報錯 ORA 06550

在plsql中寫了乙個儲存過程,並且測試通過,如下 create orreplace procedure p new jingqu visit gy h p day string,p hour string 定義引數 as v day varchar2 255 v hour varchar2 255...

PL SQL對列的操作

有時候因為一些原因比如客戶需求更改,會導致幾種情況 1.需要把某列的名字更改,可以用alter rename命令來實現。alter table rename column to 例子 alter table abcd rename column xingming to username 2.需要插入...