Oracle 10g DBMS_SCHEDULERµÄÖжȽâÎö
ÕâÆªÂÛ̳ÎÄÕ£¨ÈüµÏÍø¼¼ÊõÉçÇø£©Õë¶ÔDBMS_SCHEDULERµÄʹÓ÷½·¨½øÐÐÁËÏ꾡µÄ½éÉÜ£¬¸ü¶àÄÚÈÝÇë²Î¿¼ÏÂÎÄ£º
DBMS_SCHEDULERÊÇOracle 10GÖÐÐÂÔöµÄÒ»¸ö°ü£¬ÓëÀϰ汾µÄdbms_job°üÏà±È£¬dbms_schedulerÓкܶàÐÂÌØÐÔ£¬ÎÒ½«Í¨¹ýһϵÁеÄÎÄÕÂÀ´½éÉÜÒ»ÏÂÈçºÎʹÓÃÕâ¸ö°ü.
1. ´´½¨job
jobÊÇÊ²Ã´ÄØ? ¼òµ¥µÄ˵¾ÍÊǼƻ®(schedule)¼ÓÉÏÈÎÎñ˵Ã÷. ÁíÍ⻹ÓÐһЩ±ØÐëµÄ²ÎÊý.
ÕâÀïÌáµ½µÄ"ÈÎÎñ"¿ÉÒÔÊÇÊý¾Ý¿âÄÚ²¿µÄ´æ´¢¹ý³Ì,ÄäÃûµÄPL/SQL¿é,Ò²¿ÉÒÔÊDzÙ×÷ϵͳ¼¶±ðµÄ½Å±¾.
¿ÉÒÔÓÐÁ½ÖÖ·½Ê½À´¶¨Òå"¼Æ»®":
1) ʹÓÃDBMS_SCHDULER.CREATE_SCHEDULE ¶¨ÒåÒ»¸ö¼Æ»®;
2) µ÷ÓÃDBMS_SCHDULER.CREATE_JOB¹ý³ÌÖ±½ÓÖ¸¶¨ (ÏÂÃæ»áÏêϸ˵Ã÷)
ÔÚ´´½¨Ò»¸ö¼Æ»®Ê±£¬ÄãÖÁÉÙÐèÒªÖ¸¶¨ÏÂÃæµÄÊôÐÔ£¬ËüÃÇÊÇjobÔËÐÐËù±ØÐëµÄ:
¿ªÊ¼Ê±¼ä (start_time);
ÖØ¸´ÆµÂÊ (repeat_interval);
½áÊøÊ±¼ä (end_time)
ÁíÍ⣬¶ÔÓÚÒ»¸öjob¶øÑÔ£¬»¹ÓкܶàµÄ¸½¼Ó²ÎÊý:
job_class
job_priority
auto_drop
restartable
max_runs
max_failures
schedule_limit
logging_level
ÏÂÃæ£¬ÎÒÒÔÎÊ´ðµÄÐÎʽÀ´¾ßÌå½âÊÍ.
http://www.mscto.com
Q1:Ôõô´ÓÊý¾Ý¿âÖвéѯjobµÄÊôÐÔ ?
A1: ÓÐÁ½ÖÖ·½·¨:
1) ²éѯ(DBA|ALL|USER)_SCHEDULER_JOBS ÊÓͼ
(Ìáʾ: ¸ù¾ÝÓû§È¨Ï޵IJ»Í¬£¬Ñ¡ÔñÐԵIJéѯ DBA|ALL|USERÊÓͼ)
2) µ÷ÓÃDBMS_SCHEDULER°üÖеÄGET_ATTRIBUTE ¹ý³Ì Èí¼þ¿ª·¢Íø
Q2: ÔõôÉèÖÃÕâЩÊôÐÔÄØ?
A2: Ò²ÊÇÓÐÁ½ÖÖ·½·¨
1) ÔÚ´´½¨jobʱֱ½ÓÖ¸¶¨
2) µ÷ÓÃDBMS_SCHEDULER°üÖеÄSET_ATTRIBUTE ¹ý³Ì
Q3: "ÎÒÐèҪʲôȨÏÞ²ÅÄÜ´´½¨job" ?
Ëü¿ÉÒÔ´´½¨ÊôÖ÷ΪÈκÎÓû§(SYSÓû§³ýÍâ)µÄjob.
ȱʡÇé¿öÏÂ,job»á±»´´½¨ÔÚµ±Ç°µÄschemaÏ£¬²¢ÇÒÊÇûÓ줻îµÄ; Èç¹ûҪʹjobÒ»´´½¨
http://www.mscto.com
¾Í×Ô¶¯¼¤»î£¬ÐèÒªÏÔʽµÄÉèÖÃenabled ÊôÐÔΪtrue, À´¿´Ò»¸öÀý×Ó:
http://www.mscto.com
begin
dbms_scheduler.create_job
Ïà¹ØÎĵµ£º
ÔÎijö×Ô£ºhttp://tenn.javaeye.com/blog/99339
ÔÚOracle
ÖУ¬Òª°´Ìض¨Ìõ¼þ²éѯǰNÌõ¼Ç¼£¬Óøörownum
¾Í¸ã¶¨ÁË¡£
select * from emp where rownum
<= 5
¶øÇÒÊéÉÏÒ²¸æ½ë£¬²»ÄܶÔrownum
ÓÃ">"£¬ÕâÒ²¾ÍÒâζ×Å£¬Èç¹ûÄãÏëÓÃ
select * from emp where rownum
&nbs ......
ÔÚStand aloneµÄ»·¾³Öд´½¨Oracle data source¹©²âÊÔʹÓãº
OracleDataSource dataSource = new OracleDataSource();
dataSource.setDriverType("oracle.jdbc.driver.OracleDriver");
dataSource.setURL("jdbc:oracle:thin:@localhost:1521:ORCL");
  ......
Oracle
1£¬shutdownÖ®ºó£¬ÈçºÎÆô¶¯Êý¾Ý¿âʵÀý£¿
ͨ¹ýCMDÃüÁî·û sqlplus "sys/password as
sysdba"£¬»áÁ¬µ½Ò»¸ö¿ÕÏÐʵÀý£¬ÕâÑù¿ÉÔÙÓÃstartupÃüÁî¡£
2£¬×°ÁËÊý¾Ý¿âÖ®ºó£¬ÓÃÁËshutdown£¬ºóÓÃÁËstartupµÈÆô¶¯Ö®ºó£¬¿ÉÓÃsql
plusºÍÍøÒ³·½Ê½Á¬oracle¡£µ«ÓÃjdbcÁ¬½Ó³ö´í£¿
ÊǼàÌýÆ÷ûÆô¶¯£ºD:\oracle\product\10.1.0\Db_1\ ......
select * from test where rownum <=10 ÏÂÃæÊǹØÓÚrownumµÄ½éÉÜ ================================ RownumºÍrow_number() over()µÄʹÓà ROWNUMÊÇOracle´Ó8¿ªÊ¼ÌṩµÄÒ»¸öαÁУ¬ÊǰÑSQL³öÀ´µÄ½á¹û½øÐбàºÅ£¬Ê¼ÖÕ´Ó1¿ªÊ¼£¬³£¼ûµÄÓÃ;¾ÍÊÇÓÃÀ´·ÖÒ³Êä³ö. ±ÈÈç SELECT * from torderdetail a WHERE ROWNUM <= 10 ÕâÌõÓï¾ä¾ ......