日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle 如何创建job,oracle创建job

發(fā)布時間:2023/12/10 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 如何创建job,oracle创建job 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、基本語法

與MysqL的event事件類似,用來創(chuàng)建數(shù)據(jù)庫的定時任務。

DBMS_JOB.SUBMIT(

job OUT BINARY_INTEGER,what IN VARCHAR2,NEXT_DATE IN DATE DEFAULTSYSDATE,interval IN VARCHAR2 DEFAULT 'NULL',

no_parse IN BOOLEAN DEFAULT FALSE,instance IN BINARY_INTEGER DEFAULT ANY_INSTANCE,force IN BOOLEAN DEFAULT FALSE);

@H_403_40@job參數(shù)是由Submit()過程返回的整型

@H_403_40@what表示這個job執(zhí)行的內容,可以是存儲過程或者sql代碼塊

@H_403_40@next_date表示執(zhí)行這個job的開始時間

@H_403_40@interval表示重復執(zhí)行的時間間隔

@H_403_40@no_parse表示這個job什么時候進行語法分析,true表示第一次執(zhí)行時進行語法分析,false表示創(chuàng)建成功即進行語法分析

@H_403_40@instance、force用的很少。當force為true時,所有實例都能執(zhí)行該job;當force為false時,只有指定實例能執(zhí)行該job。

使用示例:

declare

tm_job number;

begin sys.dbms_job.submit(:tm_job,'prc_job_test;',sysdate,'sysdate+1/(24*60)');--每隔1分鐘執(zhí)行一次

end;

二、基本使用方法

1、oracle 10g默認允許的job隊列為10個,可以通過命令查看

show parameter job_queue_processes;

可以通過alert命令修改這個值

alter system set job_queue_processes=11 scope=both;

scope作用域介紹:

Oracle 里面有個叫做spfile的東西,就是動態(tài)參數(shù)文件,里面設置了Oracle 的各種參數(shù)。所謂的動態(tài),就是說你可以在不關閉數(shù)據(jù)庫的情況下,更改數(shù)據(jù)庫參數(shù),記錄在spfile里面。更改參數(shù)的時候,有3種scope選項。

@H_403_40@scope=spfile 僅僅更改spfile里面的記載,不更改內存,也就是不立即生效,而是等下次數(shù)據(jù)庫啟動生效。

@H_403_40@scope=memory 僅僅更改內存,不改spfile。也就是下次啟動就失效了。

@H_403_40@scope=both 內存和spfile都更改。默認為both。

2、對job進行修改

與創(chuàng)建類似,只不過第一個參數(shù)是傳入并非返回。

BEGIN DBMS_JOB.CHANGE(14144,null,'sysdate+3');

COMMIT;

END;

修改其他參數(shù)類似,例如修改INTERVAL

DBMS_JOB.INTERVAL (

job IN BINARY_INTEGER,interval IN VARCHAR2);

2、刪除job

DBMS_JOB.REMOVE (

job IN BINARY_INTEGER );

3、常用定時

TRUNC()函數(shù)常用來截取日期和數(shù)值(不進行四舍五入)。

select trunc(sysdate,'yyyy') from dual --2016-01-01 當年第一天

select trunc(sysdate,'dd') from dual --2016-09-05 當天

select trunc(sysdate,'hh') from dual --2016-09-05 17:00:00 精確到小時

select trunc(sysdate,'mi') from dual --2016-09-05 17:35:00 精確到分

select trunc(123.458,-1) from dual --120

select trunc(123.458,1) from dual --123.4

在job中的靈活時間設定

TRUNC(sysdate,'mi')+1/(24*60) --每分鐘執(zhí)行

TRUNC(sysdate+1) --每天凌晨0點執(zhí)行

TRUNC(sysdate+1)+1/24 --每天凌晨1點

TRUNC(SYSDATE+1)+(8*60+30)/(24*60) --每天早上8點30分執(zhí)行

TRUNC(next_day(sysdate,1))+2/24 --每周一凌晨2點執(zhí)行

TRUNC(LAST_DAY(SYSDATE)+1) --每月1日凌晨0點執(zhí)行

總結

以上是生活随笔為你收集整理的oracle 如何创建job,oracle创建job的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。