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²ÎÊýָʾºÎʱ´Ë¹¤×÷½«±»Ö´ÐС£
¡¡¡
Ïà¹ØÎĵµ£º
3oracleÊý¾Ý¿âµÄ×Ö·û¼¯¸ü¸Ä
A¡¢oracle server ¶Ë ×Ö·û¼¯²éѯ
select userenv(‘language’) from dual
ÆäÖÐNLS_CHARACTERSET Ϊserver¶Ë×Ö·û¼¯
NLS_LANGUAGE Ϊ server¶Ë×Ö·ûÏÔʾÐÎʽ
B¡¢²éѯoracle client¶ËµÄ×Ö·û¼¯
$echo $NLS_LANG
Èç¹û·¢ÏÖÄãselect ³öÀ´µÄÊý¾ÝÊÇÂÒÂ룬Çë°Ñclient¶ËµÄ×Ö· ......
start with....connect by prior....×Ó¾ä
ÀýÈ磺employee±íÖеÄÊý¾ÝÈçÏ£º
employee_id name manager_id
1   ......
OracleÊý¾Ý×ֵ䳣Óòéѯ
--²é¿´µ±Ç°Óû§ËùÓÐ±í¼°ÃèÊö
select o.object_name,c.comments
from user_objects o
left outer join user_tab_comments c
on o.object_name=c.table_name
where object_type='TABLE'
and c.comments like '%ÏîÄ¿%'
--²é¿´µ±Ç°Óû§ËùÓÐ×Ö¶ÎÐÅÏ¢¼°ÃèÊö
select c.table ......
ÏòOracleÊý¾Ý¿â±íÖвåÈëÊ®¼¸ÍòÌõÊý¾Ý£¬¿ÉÊǵ±²åÈë3Íò¶àÌõºó£¬³ÌÐò¾ÍÅ×
Java´úÂë
ORA-01000 maximum open cursors exceeded
ORA-01000 maximum open cursors exceeded
Òì³£ÐÅÏ¢¡£GoogleÁËÒì³£ÐÅÏ¢£¬µÃÖªÕâÑùµÄ´íÎóºÜÈÝÒ׳öÏÖÔÚJava´úÂëÖеÄÖ÷ÒªÔÒòÊÇ£ºJava´úÂëÔÚÖ´ÐÐconn.crea ......
ºÃ¼¸´ÎÏëÓõ½ÍâÁ¬½ÓµÄʱºò¶¼ÍüÁ˾ßÌåµÄÓ÷¨ÊÇÔõÑùµÄ£¬±ÈÈç˵£¨+£©¸Ã¼ÓÔڵȺŵÄÄÄÒ»¶Ë£¬»òÕßLFET OUTER JOIN¸ÃÓÃÔÚÕûÌõÓï¾äÖеÄÄĸö²¿·Ö¡£½ñÌìÕýºÃÓÖÅöµ½Ò»¸öÏà¹ØµÄÎÊÌ⣬½è´Ë»ú»á×ܽáһϣ¬ÒÔºóÒ²·½±ã²éѯ£¬²»ÓÃÿ´Î¶¼È¥°Ù¶ÈÁË¡£
//table1ºÍtable2ΪÁ½¸ö²âÊÔ±í Ëæ±ã²åÈ뼸ÌõÊý¾Ý
SQL> select * from table1;
......