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²ÎÊýָʾºÎʱ´Ë¹¤×÷½«±»Ö´ÐС£
¡¡¡
Ïà¹ØÎĵµ£º
oracle±í¿Õ¼ä²Ù×÷Ïê½â
1
2
3×÷Õߣº À´Ô´£º ¸üÐÂÈÕÆÚ£º2006-01-04
5
6
7½¨Á¢±í¿Õ¼ä
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
¶ÔÓÚx$µÄÇé¿ö
SQL> grant select on sys.x$bh to t1;
grant select on sys.x$bh to t1
ERROR at line 1:
ORA-02030: can only select from fixed tables/views
¶ÔÓÚfixed tables/viewsÖ»ÄÜselect
Èç¹ûÏë°Ñx$bhµÄselectȨÏÞgrant¸øÆäËûÓû§Ôõô°ìÄØ,¿ÉÒÔ±äͨһÏÂ
SQL> create view xbh as select * from sys.x$ ......
µ¼³öOracleÊý¾Ý¿â½á¹¹
1.·½·¨Ò»£ºÖ±½ÓдsqlÓï¾ä
//»ñȡһ¸öSCHEMAϵÄËùÓн¨±íºÍ½¨Ë÷ÒýµÄÓï·¨£¬ÒÔscottΪÀý£º
spool portal_schema.sql
SELECT DBMS_METADATA.GET_DDL('TABLE',u.table_name)
from USER_TABLES u;
SELECT DBMS_METADATA.GET_DDL('INDEX',u.index_name)
from USER_INDEXES u;
spool off;
2. ......
ÏòOracleÊý¾Ý¿â±íÖвåÈëÊ®¼¸ÍòÌõÊý¾Ý£¬¿ÉÊǵ±²åÈë3Íò¶àÌõºó£¬³ÌÐò¾ÍÅ×
Java´úÂë
ORA-01000 maximum open cursors exceeded
ORA-01000 maximum open cursors exceeded
Òì³£ÐÅÏ¢¡£GoogleÁËÒì³£ÐÅÏ¢£¬µÃÖªÕâÑùµÄ´íÎóºÜÈÝÒ׳öÏÖÔÚJava´úÂëÖеÄÖ÷ÒªÔÒòÊÇ£ºJava´úÂëÔÚÖ´ÐÐconn.crea ......
Oracle job ¹ÜÀí
SVRMGR> select * from dba_jobs;
³õʼ»¯Ïà¹Ø²ÎÊýjob_queue_processes
alter system set job_queue_processes=39 scope=spfile;//×î´óÖµ²»Äܳ¬¹ý1000 ;job_queue_interval = 10 //µ÷¶È×÷ҵˢÐÂÆµÂÊÃëΪµ¥Î»
DBA_JOBS describes all jobs in the database.
USER_JO ......