Oracle 9i Job Queues×ܽá
1¡¢OracleÓëJobÓйصIJÙ×÷¶¼ÊÇͨ¹ýDBMS_JOBÀ´Íê³ÉµÄ£»
2¡¢ºǫ́½ø³ÌCJQ0(Coordinate Job
Queue)¶¨ÆÚ²éѯdba_views,²¢½«ÕâЩjob°´Ê±¼ä½øÐÐÅÅÐò¡£µ±·¢ÏÖÒ»¸öJob¿ÉÒÔÔËÐÐÁË£¬¾Í×Ô¶¯²úÉúÒ»¸öJob
Queue½ø³Ì(Jnnn)À´Ö´ÐÐÕâ¸öJob.
3¡¢Í¨¹ýÊý¾Ý¿âµÄ²ÎÊýJOB_QUEUE_PROCESSESÀ´¿ØÖÆ£º1£©ÊÇ·ñÆô¶¯CJQ0 2£©Job
Queue½ø³ÌµÄ¸öÊý£¨¼´¿ÉͬÊÂÖ´ÐеÄJobµÄ×î´ó¸öÊý£©¡£JOB_QUEUE_PROCESSESΪ0£¬ÔòCJQ0²»Æô¶¯£¬ËùÓÐJob¾ù²»»áÈçÆÚÖ´ÐС£
JOB_QUEUE_PROCESSESΪΪ20£¬±íÃ÷×î´ó20¸öJob¿ÉÒÔͬʱÔËÐÐ.
JOB_QUEUE_PROCESSES²ÎÊýÊÇdynamicµÄ£¬¿É¶¯Ì¬Ð޸ģºALTER SYSTEM SET
JOB_QUEUE_PROCESSES = 20;
4¡¢´´½¨Ò»¸öJOB:
VARIABLE jobno NUMBER
BEGIN
DBMS_JOB.SUBMIT(:jobno,
'DBMS_DDL.ANALYZE_OBJECT(''TABLE'',
''HR'',
''EMPLOYEES'',
''ESTIMATE'', NULL, 50);',
SYSDATE, 'SYSDATE +
1');
COMMIT;
END;
/
PRINT jobno
DBMS_JOB.SUBMIT
µÄ¸ñʽΪ£º
SUBMIT(JOBNO,WHAT,NEXT_DATE,INTERVAL,NO_PARSE)£¬ÆäÖУº
jobnoÊÇ
Ò»¸öOUT²ÎÊý¡£µ±SUBMITÖ´ÐÐÍê±Ï£¬jobno»á´ø³öORACLE·ÖÅäµÄjobºÅÂë¡£Õâ¸öjobºÅÂë×÷ΪÕâ¸öJOBµÄ±êʶ
WHATÊÇÕâ
¸öJOBÒª×öµÄÊÂÇé¡£ÓÃ''ÒýÆðÀ´µÄÈκÎPL/SQLÓï¾ä
NEXT_DATEÊÇÏ´ÎÒªÖ´ÐÐÕâ¸öJOBµÄʱ¼ä¡£Ä¬ÈÏΪSYSDATE
INTERVAL
ÊǼä¸ô£¬¾ö¶¨ÁËÕâ¸öÈÎÎñÏ´ÎÔËÐеÄʱ¼ä¡£Ã¿´ÎJOBÔËÐÐʱ£¬¶¼»á¼ÆËãÕâ¸öINTERVAL×ֶΣ¬²¢ÔÚÖ´ÐÐÍê±Ïºó½«Õâ¸öÖµ·Åµ½NEXT_DATE×Ö¶ÎÖÐÈ¥£¬
×÷ΪÏ´ÎÖ´ÐеÄʱ¼ä£»
NO_PARSE£º¾ö¶¨WHAT²¿·ÖµÄ¶«Î÷ʵÔÚSUBMITµÄʱºò½øÐнâÎö£¨FALSE£©»¹ÊǵÚÒ»´ÎÖ´ÐеÄʱºò½âÎö
(TRUE)¡£
5¡¢³£¼ûµÄWHAT£º
'myproc(''10-JAN-99'', next_date,
broken);'
'scott.emppackage.give_raise(''JFEE'', 3000.00);'
'dbms_job.remove(job);'
6¡¢³£¼ûµÄINTERVAL£º
'SYSDATE + 7' ÿÆßÌì
'SYSDATE + 1/48' ÿ°ëСʱ
'NEXT_DAY(TRUNC(SYSDATE),
''MONDAY'') + 15/24' ÿÖÜÒ»µÄÏÂÎçÈýµã
'NEXT_DAY(ADD_MONTHS(TRUNC(SYSDATE,
''Q''), 3), ''THURSDAY'')' ÿ¼¾¶ÈµÄµÚ1¸öÐÇÆÚËÄ
7¡¢É¾³ýÒ»¸öJOB
BEGIN
Ïà¹ØÎĵµ£º
OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏ൱ÓÚoracleÊý¾Ý»¹ÔÓ뱸·Ý¡£expÃüÁî¿ÉÒÔ°ÑÊý¾Ý´ÓÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷µ¼³öµ½±¾µØµÄdmpÎļþ£¬impÃüÁî¿ÉÒÔ°ÑdmpÎļþ´Ó±¾µØµ¼Èëµ½Ô¶´¦µÄÊý¾Ý¿â·þÎñÆ÷ÖС£ÀûÓÃÕâ¸ö¹¦ÄÜ¿ÉÒÔ¹¹½¨Á½¸öÏàͬµÄÊý¾Ý¿â£¬Ò»¸öÓÃÀ´²âÊÔ£¬Ò»¸öÓÃÀ´ÕýʽʹÓá£
Ö´Ðл·¾³£º¿ÉÒÔÔÚSQLPLUS.EXE»òÕßDOS£¨ÃüÁîÐУ ......
µ¼Èë IMP
Oracle µÄµ¼ÈëʵÓóÌÐò (Import utility) ÔÊÐí´ÓÊý¾Ý¿âÌáÈ¡Êý¾Ý£¬²¢ÇÒ½«Êý¾ÝдÈë²Ù×÷ϵͳÎļþ¡£ imp ʹÓõĻù±¾¸ñʽ£º imp[username[/password[@service]]] £¬ÒÔÏÂÀý¾Ù imp ³£ÓÃÓ÷¨¡£
1. »ñÈ¡°ïÖú
imp help=y
2. µ¼ÈëÒ»¸öÍêÕûÊý¾Ý¿â
imp system/manager file=bible_db log=dibl ......
Á¬½ÓOracleÊý¾Ý¿âµÄHibernateÅäÖÃÎļþ
Á¬½ÓOracleµÄHibernateÅäÖÃÎļþÓÐÁ½ÖÖ¸ñʽ£¬Ò»ÖÖÊÇxml¸ñʽµÄ£¬ÁíÒ»ÖÖÊÇJavaÊôÐÔÎļþ¸ñʽµÄ¡£ÏÂÃæ·Ö±ð¸ø³öÕâÁ½ÖÖ¸ñʽÅäÖÃÎļþµÄ´úÂë¡£
1£®xml¸ñʽµÄÅäÖÃÎļþ
ÏÂÃæ½«¸ø³öÁ¬½Ó±¾µØOracle·þÎñÆ÷ÉϵÄdb_database02Êý¾Ý¿âʱHibernateÅäÖÃÎļþhibernate.cfg.xmlµÄ´úÂë¡£
Àý³Ì2-5£º¹âÅÌ\mr ......
select * from TTable1 for update Ëø¶¨±íµÄËùÓÐÐУ¬Ö»ÄܶÁ²»ÄÜд
2 select * from TTable1 where pkid = 1 for update Ö»Ëø¶¨pkid=1µÄÐÐ
3 select * from Table1 a join Table2 b on a.pkid=b.pkid for update Ëø¶¨Á½¸ö±íµÄËùÓмǼ
4 select * from Table1 a join Table2 b on a.pki ......