เตรียมใช้งานพารามิเตอร์ที่เกี่ยวข้อง job_queue_processes
แก้ไขชุดระบบ job_queue_processes=39 scope=spfile; //ค่าสูงสุดต้องไม่เกิน 1,000; job_queue_interval = 10 //กำหนดความถี่ในการรีเฟรชงานเป็นวินาที
job_queue_process แสดงถึงจำนวนงานที่ Oracle สามารถรันพร้อมกัน ซึ่งสามารถส่งผ่านคำสั่งได้
แสดงพารามิเตอร์ job_queue_process;
หากต้องการดูค่าของ job_queue_process ใน oracle เมื่อค่า job_queue_process เป็น 0 หมายความว่าหยุดงาน Oracle ทั้งหมด คุณสามารถส่งคำสั่งได้
เปลี่ยนระบบชุด job_queue_processes = 10;
เพื่อปรับงานที่เริ่ม Oracle
มุมมองที่เกี่ยวข้อง:
dba_jobs
ทั้งหมด_งาน
user_jobs
dba_jobs_running มีข้อมูลเกี่ยวกับการรันงาน
-
ส่งไวยากรณ์งาน:
เริ่ม
sys.dbms_job.submit(งาน => :งาน,
อะไร => 'P_CLEAR_PACKBAL;',
next_date => to_date('04-08-2008 05:44:09', 'dd-mm-yyyy hh24:mi:ss'),
ช่วงเวลา => 'sysdate+ 1/360');
ให้สัญญา;
จบ;
-
-
สร้างงาน
หมายเลขงานตัวแปร
เริ่ม
dbms_job.submit(:jobno, 'P_CRED_PLAN;',SYSDATE,'SYSDATE+1/2880',TRUE);
ให้สัญญา;
เรียกใช้งาน
SQL> เริ่มต้น
dbms_job.run(:job1);
จบ;
-
ลบงาน
SQL> เริ่มต้น
dbms_job.remove(:job1);
จบ;
-
DBA_JOBS
ฟิลด์ (คอลัมน์) ประเภทคำอธิบาย
JOB NUMBER หมายเลขประจำตัวเฉพาะของงาน
LOG_USER VARCHAR2(30) ผู้ใช้ที่ส่งงาน
PRIV_USER VARCHAR2(30) ผู้ใช้กำหนดสิทธิ์งาน
SCHEMA_USER VARCHAR2(30) โหมดผู้ใช้สำหรับการแยกวิเคราะห์งาน
LAST_DATE DATE ครั้งสุดท้ายที่รันงานได้สำเร็จ
LAST_SEC VARCHAR2(8) ชั่วโมง นาที และวินาทีของวันที่ล่าสุดในรูปแบบ HH24:MM:SS
THIS_DATE DATE เวลาเริ่มต้นของงานที่กำลังทำงานอยู่ หรือเป็นโมฆะ หากไม่มีงานที่กำลังทำงานอยู่
THIS_SEC VARCHAR2(8) ชั่วโมง นาที และวินาทีของวันที่ this_date ในรูปแบบ HH24:MM:SS
NEXT_DATE DATE ครั้งถัดไปที่งานตามกำหนดการจะถูกรัน
NEXT_SEC VARCHAR2(8) ชั่วโมง นาที และวินาทีของวันที่ถัดไปในรูปแบบ HH24:MM:SS
TOTAL_TIME NUMBER เวลาทั้งหมดที่จำเป็นสำหรับงานในการรัน หน่วยเป็นวินาที
พารามิเตอร์แฟล็ก BROKEN VARCHAR2(1) Y บ่งชี้ว่างานถูกขัดจังหวะและจะไม่ทำงานในอนาคต
INTERVAL VARCHAR2(200) นิพจน์ที่ใช้ในการคำนวณรันไทม์ถัดไป
FAILURES NUMBER จำนวนครั้งที่รันงานไม่สำเร็จ
บล็อก PL/SQL ของ VARCHAR2 (2000) ใดที่ดำเนินงาน
CURRENT_SESSION_LABEL RAW MLSLABEL คีย์เซสชันของ Oracle ที่เชื่อถือได้สำหรับงานนี้
CLEARANCE_HI RAW MLSLABEL ช่องว่าง Oracle สูงสุดที่งานสามารถเชื่อถือได้
CLEARANCE_LO RAW MLSLABEL ช่องว่างขั้นต่ำของ Oracle ที่งานสามารถเชื่อถือได้
NLS_ENV VARCHAR2 (2000) การตั้งค่าเซสชัน NLS สำหรับงานที่กำลังรัน
MISC_ENV RAW(32) พารามิเตอร์เซสชันอื่น ๆ สำหรับงานที่กำลังรัน
-
คำอธิบาย ค่าพารามิเตอร์ INTERVAL
'TRUNC(SYSDATE + 1)' ทุกวัน เวลา 24.00 น
ทุกเช้า เวลา 8:30 'TRUNC(SYSDATE + 1) + (8*60+30)/(24*60)'
ทุกวันอังคาร เวลา 12.00 น. 'NEXT_DAY(TRUNC(SYSDATE ), ''TUESDAY'' ) + 12/24'
'TRUNC(LAST_DAY(SYSDATE ) + 1)' เวลา 12.00 น. ของวันแรกของแต่ละเดือน
23.00 น. ของวันสุดท้ายของแต่ละไตรมาส 'TRUNC(ADD_MONTHS(SYSDATE + 2/24, 3 ), 'Q' ) -1/24'
ทุกวันเสาร์และวันอาทิตย์ เวลา 6:10 น. 'TRUNC(LEAST(NEXT_DAY(SYSDATE, ''SATURDAY"), NEXT_DAY(SYSDATE, "SUNDAY"))) + (6×60+10)/(24×60)'
-
1: ดำเนินการทุกนาที
ช่วงเวลา => TRUNC(sysdate,'mi') + 1/ (24*60)
2: ดำเนินการอย่างสม่ำเสมอทุกวัน
ตัวอย่างเช่น: ดำเนินการเวลา 01.00 น. ทุกวัน
ช่วงเวลา => TRUNC(sysdate) + 1 +1/ (24)
3: การดำเนินการตามกำหนดการทุกสัปดาห์
ตัวอย่างเช่น: ดำเนินการทุกวันจันทร์ เวลา 01.00 น
ช่วงเวลา => TRUNC(next_day(sysdate,'Monday'))+1/24
4: การดำเนินการปกติทุกเดือน
ตัวอย่างเช่น: ดำเนินการเวลา 01.00 น. ของวันที่ 1 ของแต่ละเดือน
ช่วงเวลา =>TRUNC(LAST_DAY(SYSDATE))+1+1/24
5: การดำเนินการปกติทุกไตรมาส
ตัวอย่างเช่น จะดำเนินการเวลา 01.00 น. ของวันแรกของแต่ละไตรมาส
ช่วงเวลา => TRUNC(ADD_MONTHS(SYSDATE,3),'Q') + 1/24
6: การดำเนินการปกติทุก ๆ หกเดือน
เช่น ทุกวันที่ 1 กรกฎาคม และ 1 มกราคม เวลา 01.00 น.
ช่วงเวลา => ADD_MONTHS(trunc(sysdate,'yyyy'),6)+1/24
7: ดำเนินการอย่างสม่ำเสมอทุกปี
ตัวอย่างเช่น: ดำเนินการเวลา 01.00 น. ของวันที่ 1 มกราคมของทุกปี
ช่วงเวลา =>ADD_MONTHS(trunc(sysdate,'yyyy'),12)+1/24
บทความนี้มาจากบล็อก CSDN โปรดระบุแหล่งที่มาเมื่อพิมพ์ซ้ำ: http://blog.csdn.net/mzwang123/archive/2009/12/22/5053476.aspx
-