環境:
專注于為中小企業提供成都網站設計、成都做網站、外貿網站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業湟中免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了近1000家企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。
OS:Centos 7.5
DB:Oracle 11.2.0.4.0單實例
場景一:job沒開始,停庫, 再次起庫后,起庫時間為job開始時間,開始自動運行job,不會自動補停庫期間錯過的job. 場景二:job運行一半,停庫,再次起庫后,起庫時間為job開始運行時間,不會接著停庫前執行一半的job繼續執行,job重新開始執行。 場景三:停庫前,將job_queue_processes參數設置為0,正在運行的job會繼續運行完成,后續的job將不會自動運行。再將job_queue_processes參數改回1000,job將開始運行。
job_queue_processes取值范圍為0到1000
當設定該值為0的時候則任意方式創建的job都不會運行。
當設定該值大于1時,且并行執行job時,至少一個為協調進程。其總數不會超出job_queue_processes的值。
實驗過程如下:
創建測試數據
---sys SQL> grant execute on DBMS_LOCK to cjc; ---cjc SQL> create table t1(id number,itime varchar2(200));
SQL> CREATE OR REPLACE PROCEDURE test_pro is begin for i in 1 .. 10 loop insert into t1 values (i, to_char(sysdate, 'yyyy/mm/dd hh34:mi:ss')); DBMS_LOCK.SLEEP(10); commit; end loop; end; /
SQL> exec test_pro; PL/SQL procedure successfully completed. Elapsed: 00:01:40.09
創建job
SQL>
declare
job_id pls_integer;
begin
sys.dbms_job.submit(job => job_id,
what => 'test_pro;',
next_date => to_date('2020-07-02 22:25:00',
'yyyy-mm-dd hh34:mi:ss'),
interval => 'TRUNC(sysdate,''mi'') + 3 / (24 * 60)');
commit;
end;
/場景一:job沒開始,停庫
select job, schema_user, last_date, this_date, next_date, interval from dba_jobs where schema_user = 'CJC';
JOBSCHEMA_USERLAST_DATETHIS_DATENEXT_DATEINTERVAL 123CJC2020/7/2 22:52:142020/7/2 22:55:00TRUNC(sysdate,'mi') + 3 / (24 * 60)
22:54 SQL> shutdown immediate
22:56 SQL> startup select * from dba_jobs_running; SIDJOBFAILURESLAST_DATELAST_SECTHIS_DATETHIS_SECINSTANCE 1292302020/7/2 22:52:1422:52:142020/7/2 22:56:2422:56:240
SQL> select job, schema_user, last_date, this_date, next_date, interval from dba_jobs where schema_user = 'CJC'; JOBSCHEMA_USERLAST_DATETHIS_DATE NEXT_DATE INTERVAL 123CJC2020/7/2 22:52:142020/7/2 22:56:242020/7/2 22:55:00TRUNC(sysdate,'mi') + 3 / (24 * 60)
SQL> select count(*) from t1; COUNT(*) ---------- 10
場景二:job執行一半,停庫
select job, schema_user, last_date, this_date, next_date, interval from dba_jobs where schema_user = 'CJC'; JOBSCHEMA_USERLAST_DATETHIS_DATENEXT_DATEINTERVAL 123CJC2020/7/2 22:56:242020/7/2 22:59:00TRUNC(sysdate,'mi') + 3 / (24 * 60)
select * from dba_jobs_running SIDJOBFAILURESLAST_DATELAST_SECTHIS_DATETHIS_SECINSTANCE 1292302020/7/2 22:56:2422:56:242020/7/2 22:59:0022:59:000
SQL> select count(*) from t1; COUNT(*) ---------- 12
22:59 SQL> shutdown immediate
23:00 SQL> startup
select * from dba_jobs_running SIDJOBFAILURESLAST_DATELAST_SECTHIS_DATETHIS_SECINSTANCE 1302302020/7/2 22:56:2422:56:242020/7/2 23:00:3323:00:330
select job, schema_user, last_date, this_date, next_date, interval from dba_jobs where schema_user = 'CJC'; JOBSCHEMA_USERLAST_DATETHIS_DATENEXT_DATEINTERVAL 123CJC2020/7/2 22:56:242020/7/2 23:00:332020/7/2 22:59:00TRUNC(sysdate,'mi') + 3 / (24 * 60)
SQL> select count(*) from t1; COUNT(*) ---------- 24
場景三:調節job_queue_processes參數
SQL> show parameter job_queue_processes SQL> select * from dba_jobs_running; SQL> alter system set job_queue_processes=0; SQL> select * from dba_jobs_running; SQL> alter system set job_queue_processes=1000; SQL> select * from dba_jobs_running; SQL> select count(*) from t1;
歡迎關注我的微信公眾號"IT小Chen",共同學習,共同成長!!

網頁名稱:Oracle11g測試停庫對job的影響
文章轉載:http://www.yijiale78.com/article0/jooeio.html
成都網站建設公司_創新互聯,為您提供App設計、電子商務、靜態網站、網站收錄、全網營銷推廣、ChatGPT
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯