ORACLE¼Æ»®(schedule)Ïê½â
´´½¨job
jobÊÇÊ²Ã´ÄØ? ¼òµ¥µÄ˵¾ÍÊǼƻ®(schedule)¼ÓÉÏÈÎÎñ˵Ã÷. ÁíÍ⻹ÓÐһЩ±ØÐëµÄ²ÎÊý.
ÕâÀïÌáµ½µÄ"ÈÎÎñ"¿ÉÒÔÊÇÊý¾Ý¿âÄÚ²¿µÄ´æ´¢¹ý³Ì,ÄäÃûµÄPL/SQL¿é,Ò²¿ÉÒÔÊDzÙ×÷ϵͳ¼¶±ðµÄ½Å±¾.
¿ÉÒÔÓÐÁ½ÖÖ·½Ê½À´¶¨Òå"¼Æ»®":
1) ʹÓÃDBMS_SCHDULER.CREATE_SCHEDULE ¶¨ÒåÒ»¸ö¼Æ»®;
2) µ÷ÓÃDBMS_SCHDULER.CREATE_JOBE¹ý³ÌÖ±½ÓÖ¸¶¨ (ÏÂÃæ»áÏêϸ˵Ã÷)
ÔÚ´´½¨Ò»¸ö¼Æ»®Ê±£¬ÄãÖÁÉÙÐèÒªÖ¸¶¨ÏÂÃæµÄÊôÐÔ£¬ËüÃÇÊÇjobÔËÐÐËù±ØÐëµÄ:
¿ªÊ¼Ê±¼ä (start_time);
ÖØ¸´ÆµÂÊ (repeat_interval);
½áÊøÊ±¼ä (end_time)
ÁíÍ⣬¶ÔÓÚÒ»¸öjob¶øÑÔ£¬»¹ÓкܶàµÄ¸½¼Ó²ÎÊý:
job_class
job_priority
auto_drop
restartable
max_runs
max_failures
schedule_limit
logging_level
ÏÂÃæ£¬ÎÒÒÔÎÊ´ðµÄÐÎʽÀ´¾ßÌå½âÊÍ.
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" ?
A3: ÄãÖÁÉÙÐèÒªcreate_jobÕâ¸öϵͳȨÏÞ¡£Èç¹ûÓû§ÓµÓÐcreate any jobÕâ¸öȨÏÞ£¬
Ëü¿ÉÒÔ´´½¨ÊôÖ÷ΪÈκÎÓû§(SYSÓû§³ýÍâ)µÄjob.
ȱʡÇé¿öÏÂ,job»á±»´´½¨ÔÚµ±Ç°µÄschemaÏ£¬²¢ÇÒÊÇûÓ줻îµÄ; Èç¹ûҪʹjobÒ»´´½¨
¾Í×Ô¶¯¼¤»î£¬ÐèÒªÏÔʽµÄÉèÖÃenabled ÊôÐÔΪtrue, À´¿´Ò»¸öÀý×Ó:
begin
dbms_scheduler.create_job
(
job_name => 'ARC_MOVE',
schedule_name => 'EVERY_60_MINS',
job_type => 'EXECUTABLE',
job_action => '/home/dbtools/move_arcs.sh',
enabled => true,
comments => 'Move Archived Logs to a Different Directory'
);
end;
/
Q4: Äܲ»ÄÜÏêϸµØ½²ÊöÒ»ÏÂÉÏÃæÕâ¸ö¹ý³ÌÓõ½µÄ¸÷¸ö²ÎÊý?
A4:
job_name: ¹ËÃû˼Òå,ÿ¸öjob¶¼±ØÐëÓÐÒ»¸öµÄÃû³Æ
schedule_name: Èç¹û¶¨ÒåÁ˼ƻ®£¬ÔÚÕâÀïÖ¸¶¨¼Æ»®µÄÃû³Æ
job_type: Ŀǰ֧³ÖÈýÖÖÀàÐÍ:
PL/SQL¿é: PLSQL_BLOCK,
´æ´¢¹ý³Ì: STORED_PROCEDURE
Íⲿ³ÌÐò: EXECUTABLE (Íⲿ³ÌÐò¿ÉÒÔÊÇÒ»¸öshell½Å±¾,Ò²¿ÉÒÔÊDzÙ×÷ϵͳ¼¶±ðµÄÖ¸Áî).
job_action: ¸ù¾Ýjob_typeµÄ²»Í¬£¬job_actionÓв»Í¬µÄº¬Òå.
Èç¹ûjob_typeÖ¸¶¨µÄÊÇ´æ´¢¹ý³Ì£¬¾ÍÐèÒªÖ¸¶¨´æ´¢¹ý³ÌµÄÃû×Ö;
Èç¹ûjob_typeÖ¸¶¨µÄÊÇPL/SQL¿é£¬¾ÍÐèÒªÊäÈë
Ïà¹ØÎĵµ£º
¡¾°¸ÀýÒ»¡¿
ÌâÄ¿£º
--´¥·¢Æ÷£º
--Ìí¼ÓÔ±¹¤ÐÅÏ¢,Á÷Ë®ºÅ×÷Ϊ×Ô¶¯±àºÅ(ͨ¹ýÐòÁÐÉú³É),
--²¢ÇÒÅжÏÈç¹û¹¤×ÊСÓÚ0,Ôò¸ÄΪ0;Èç¹û´óÓÚ10000,Ôò¸ÄΪ10000¡£
CREATE TABLE emp2(
e_id NUMBER,
e_no NUMBER,
e_name VARCHAR2(20),
e_sal NUMBER
)
SELECT * from emp2;
CREATE SEQUENCE seq_trg_id;
INSERT INTO emp2(e_i ......
ÔÚStand aloneµÄ»·¾³Öд´½¨Oracle data source¹©²âÊÔʹÓãº
OracleDataSource dataSource = new OracleDataSource();
dataSource.setDriverType("oracle.jdbc.driver.OracleDriver");
dataSource.setURL("jdbc:oracle:thin:@localhost:1521:ORCL");
  ......
ÆÀ¹ÀÊý¾Ý¸ßËÙ»º´æÐ§ÂʵÄÖ¸±êÊÇÃüÖÐÂÊ¡£¸ÃÃüÖÐÂÊͨ¹ý²éѯV$SYSSTAT ºÍ$BUFFER_POOL_STATISTICSÊÓͼ¿ÉÒԵõ½¡£Õâ¸öÊÓͼ¿ÉÒÔ
²éѯÿ¸ö»º´æ³Ø¸÷×ÔµÄÃüÖÐÂÊ¡£»º´æ³ØµÄÃüÖÐÂʵļÆËã²ÉÓÃÏÂÃæµÄ¹«Ê½:
1-(physical_reads/(db_block_gets+consistent_gets))
ÏÂÃæµÄSQLÓï¾ä³£ÓÃÀ´²éѯµ±Ç°¸÷¸ö»º´æ³ØµÄÃüÖ ......
´ÓAIX ½Ç¶È£¬ÎÒÃÇ¿ÉÒÔÔÚÏÂÃæÈý¸ö½Ç¶ÈºâÁ¿ÄÚ´æÊ¹ÓõĺÏÀíÐÔ
1>¼õÉÙÒ³Ãæ½»»»²Ù×÷
µ±²Ù×÷ϵͳÐèÒª¸ü¶àÄÚ´æÒ³ÒÔÖ§³ÖÆäËûÓ¦ÓÃÔËÐÐʱ£¬²Ù×÷ϵͳ½«ÒÀ¾ÝijÖÖËã·¨£¨LRUËã·¨£©°Ñµ±Ç°×¤ÁôÔÚÄÚ´æÖеÄijЩ
Êý¾ÝÒ³"Page Out"£¬Ò²¾ÍÊǰÑÄÚ´æÖеÄÊý¾ÝÒ³´ÓÄÚ´æ¶Î×ªÒÆµ½ÎïÀí´ÅÅÌ¡£ÏÔÈ»£¬ÕâÖÖÀàÐ͵IJÙ×÷»áÓ°ÏìÕû¸öϵͳµÄÔËÐÐÐÔÄÜ¡£
¶ÔÓÚ ......