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²ÎÊýָʾºÎʱ´Ë¹¤×÷½«±»Ö´ÐС£
¡¡¡
Ïà¹ØÎĵµ£º
start with....connect by prior....×Ó¾ä
ÀýÈ磺employee±íÖеÄÊý¾ÝÈçÏ£º
employee_id name manager_id
1   ......
ÔÚSQLÓï¾äÓÅ»¯¹ý³ÌÖУ¬¾³£»áÓõ½hint,ÏÂÃæÎÒÃÇÀ´½éÉÜÒ»ÏÂÔÚSQLÓÅ»¯¹ý³ÌÖг£¼ûOracleÖÐ"HINT"µÄ30¸öÓ÷¨£º
¡¡¡¡1. /*+ALL_ROWS*/
¡¡¡¡±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÍÌÍÂÁ¿,ʹ×ÊÔ´ÏûºÄ×îС»¯¡£
¡¡¡¡2. /*+FIRST_ROWS*/
¡¡¡¡±íÃ÷¶ÔÓï¾ä¿éÑ¡Ôñ»ùÓÚ¿ªÏúµÄÓÅ»¯·½·¨,²¢»ñµÃ×î¼ÑÏìӦʱ¼ä,ʹ×ÊÔ´ÏûºÄ×îÐ ......
½â¾ö°ì·¨£º
1.ʹÓÃOracleÓû§µÇ¼ϵͳ£¬ÔÚCMDÖÐÆôÓÃSQLPLUS
2.sqlplus /nolog
3.SQL> connect /as sysdba
¡¡¡¡¡¡ Connected.
4.SQL> alter user system account unlock;
¡¡¡¡¡¡ User altered.
Ëø¶¨Õ˺ŷ½·¨£º
1.SQL> alter user system account lock;
¡¡¡¡¡¡ & ......
ÎÊÌâ
£¨1£©±íemployeesºÍdepartment´æÔÚ²ÎÕÕÍêÕûÐÔÔ¼Êø£¬ÔÚ±íemployeesÖвåÈë¼Ç¼£¨‘70’£¬‘999’£©department_idΪ‘999’ʱ£¬department±íÖл¹²»´æÔÚdepartment_idΪ‘999’µÄ¼Ç¼£¬ËùÒÔÎ¥±³Á˲ÎÕÕÍêÕûÐÔÔ¼Êø,³öÏÖ“Integrity constraint violation error”ÌáʾÐÅÏ ......