Oracle JOB Ó÷¨Ð¡½á£¨×ªÔØ£©
Oracle JOB Ó÷¨Ð¡½á
Ò»¡¢ÉèÖóõʼ»¯²ÎÊý job_queue_processes
¡¡¡¡sql> alter system set job_queue_processes=n;£¨n>0£©
¡¡¡¡job_queue_processes×î´óֵΪ1000
¡¡¡¡
¡¡¡¡²é¿´job queue ºǫ́½ø³Ì
¡¡¡¡sql>select name,description from v$bgprocess;
¡¡¡¡
¡¡¡¡¶þ£¬dbms_job package Ó÷¨½éÉÜ
¡¡¡¡°üº¬ÒÔÏÂ×Ó¹ý³Ì£º
¡¡¡¡
¡¡¡¡Broken()¹ý³Ì¡£
¡¡¡¡change()¹ý³Ì¡£
¡¡¡¡Interval()¹ý³Ì¡£
¡¡¡¡Isubmit()¹ý³Ì¡£
¡¡¡¡Next_Date()¹ý³Ì¡£
¡¡¡¡Remove()¹ý³Ì¡£
¡¡¡¡Run()¹ý³Ì¡£
¡¡¡¡Submit()¹ý³Ì¡£
¡¡¡¡User_Export()¹ý³Ì¡£
¡¡¡¡What()¹ý³Ì¡£
¡¡¡¡
¡¡¡¡1¡¢Broken()¹ý³Ì¸üÐÂÒ»¸öÒÑÌá½»µÄ¹¤×÷µÄ״̬£¬µäÐ͵ØÊÇÓÃÀ´°ÑÒ»¸öÒÑÆÆ¹¤×÷±ê¼ÇÎªÎ´ÆÆ¹¤×÷¡£
¡¡¡¡Õâ¸ö¹ý³ÌÓÐÈý¸ö²ÎÊý£ºjob ¡¢brokenÓënext_date¡£
¡¡¡¡
¡¡¡¡PROCEDURE Broken (job¡¡¡¡¡¡ IN binary_integer,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Broken¡¡¡¡IN boolean,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡next_date IN date :=SYSDATE)
¡¡¡¡
¡¡¡¡job²ÎÊýÊǹ¤×÷ºÅ£¬ËüÔÚÎÊÌâÖÐΨһ±êʶ¹¤×÷¡£
¡¡¡¡broken²ÎÊýָʾ´Ë¹¤×÷ÊÇ·ñ½«±ê¼ÇÎªÆÆ——TRUE˵Ã÷´Ë¹¤×÷½«±ê¼ÇÎªÆÆ£¬¶øFLASE˵Ã÷´Ë¹¤×÷½«±ê¼ÇÎªÎ´ÆÆ¡£
¡¡¡¡next_date²ÎÊýָʾÔÚʲôʱºò´Ë¹¤×÷½«ÔÙ´ÎÔËÐС£´Ë²ÎÊýȱʡֵΪµ±Ç°ÈÕÆÚºÍʱ¼ä¡£
¡¡¡¡jobÈç¹ûÓÉÓÚijÖÖÔÒòδÄܳɹ¦Ö®ÐУ¬oracle½«ÖØÊÔ16´Îºó£¬»¹Î´Äܳɹ¦Ö´ÐУ¬½«±»±ê¼ÇΪbrokenÖØÐÂÆô¶¯×´Ì¬ÎªbrokenµÄjob£¬ÓÐÈçÏÂÁ½ÖÖ·½Ê½;
¡¡¡¡a¡¢ÀûÓÃdbms_job.run()Á¢¼´Ö´ÐиÃjob
¡¡¡¡¡¡ sql>begin
¡¡¡¡¡¡ sql>dbms_job.run(:jobno) ¸ÃjobnoΪsubmit¹ý³ÌÌύʱ·µ»ØµÄjob number
¡¡¡¡¡¡ sql>end;
¡¡¡¡¡¡ sql>/
¡¡¡¡b¡¢ÀûÓÃdbms_job.broken()ÖØÐ½«broken±ê¼ÇΪfalse
¡¡¡¡¡¡ sql>begin
¡¡¡¡¡¡ sql>dbms_job.broken (:job,false,next_date)
¡¡¡¡¡¡ sql>end;
¡¡¡¡¡¡ sql>/
¡¡¡¡2¡¢Change()¹ý³ÌÓÃÀ´¸Ä±äÖ¸¶¨¹¤×÷µÄÉèÖá£
¡¡¡¡Õâ¸ö¹ý³ÌÓÐËĸö²ÎÊý£ºjob¡¢what ¡¢next_dateÓëinterval¡£
¡¡¡¡
¡¡¡¡PROCEDURE Change (job¡¡¡¡¡¡¡¡IN binary_integer,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡What¡¡¡¡¡¡ IN varchar2,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡next_date¡¡IN date,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡interval¡¡ IN varchar2)
¡¡¡¡
¡¡¡¡´Ëjob²ÎÊýÊÇÒ»¸öÕûÊýÖµ£¬ËüΨһ±êʶ´Ë¹¤×÷¡£
¡¡¡¡What²ÎÊýÊÇÓɴ˹¤×÷ÔËÐеÄÒ»¿éPL/SQL´úÂë¿é¡£
¡¡¡¡next_date²ÎÊýָʾºÎʱ´Ë¹¤×÷½«±»Ö´ÐС£
¡¡¡
Ïà¹ØÎĵµ£º
ËäȻѧϰJavaºÜ¾ÃÁË£¬×Ô¼ºÒ²Á¬½Ó¹ýһЩÊý¾Ý¿â£¬±ÈÈçmysqlÖ®ÀàµÄ£¬Èç½ñÄØ£¬Ò²Ñ§Ï°ÁËÒ»¶Îʱ¼äµÄOracle£¬È»¶øÄØ£¬½ñÌìÊÇÎÒµÚÒ»´ÎÁ¬½ÓOracle£¬ºÙºÙ£¬Ó¦¸Ã»¹²»ËãÌ«³Ù°É¡£
½ñÌìÄØ£¬Óе㱿׾£¬´ó¼ÒĪЦ£¡
ÎÒÕâÊÇÒ»¸ö²éѯÀý×Ó
Ê×ÏÈ£¬Ô ......
Microsoft Windows XP [°æ±¾ 5.1.2600]
(C) °æÈ¨ËùÓÐ 1985-2001 Microsoft Corp.
C:\Documents and Settings\Admin>sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Nov 20 19:31:44 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g E ......
ÔÚSQLÓï¾äÓÅ»¯¹ý³ÌÖУ¬¾³£»áÓõ½hint,ÏÂÃæÎÒÃÇÀ´½éÉÜÒ»ÏÂÔÚSQLÓÅ»¯¹ý³ÌÖг£¼ûOracleÖÐ"HINT"µÄ30¸öÓ÷¨£º
¡¡¡¡1. /*+ALL_ROWS*/
¡¡¡¡±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÍÌÍÂÁ¿,ʹ×ÊÔ´ÏûºÄ×îС»¯¡£
¡¡¡¡2. /*+FIRST_ROWS*/
¡¡¡¡±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÏìӦʱ¼ä,ʹ×ÊÔ´ÏûºÄ×îÐ ......
Oracle job ¹ÜÀí
SVRMGR> select * from dba_jobs;
³õʼ»¯Ïà¹Ø²ÎÊýjob_queue_processes
alter system set job_queue_processes=39 scope=spfile;//×î´óÖµ²»Äܳ¬¹ý1000 ;job_queue_interval = 10 //µ÷¶È×÷ҵˢÐÂÆµÂÊÃëΪµ¥Î»
DBA_JOBS describes all jobs in the database.
USER_JO ......