http://www.eygle.com/archives/2011/02/auto_space_advisor_job_proc.html

executedbms_scheduler.disable('AUTO_SPACE_ADVISOR_JOB');

这个Bug在10.2.0.2之后的版本中被修正。

既然Oracle的缺省定时任务可能会带来如此多的问题,我们就很有必要去关注一下系统有哪些缺省的任务,执行情况如何。以下是一个10.2.0.5版本的数据库中一些自动任务的调度设置情况:

SQL> selectjob_name,state,enabled,last_start_date from dba_scheduler_jobs;

JOB_NAME STATE ENABL LAST_START_DATE

--------------------------------------------- -----

AUTO_SPACE_ADVISOR_JOB SCHEDULED TRUE 07-AUG-10 06.00.03.792886 AM +08:00

GATHER_STATS_JOB SCHEDULED TRUE 07-AUG-10 06.00.03.783957 AM +08:00

FGR$AUTOPURGE_JOB DISABLED FALSE

PURGE_LOG SCHEDULED TRUE 07-AUG-10 03.00.00.353023 AM PRC

MGMT_STATS_CONFIG_JOB SCHEDULED TRUE 01-AUG-10 01.01.01.822354 AM +08:00

MGMT_CONFIG_JOB SCHEDULED TRUE 07-AUG-10 06.00.03.767320 AM +08:00

SQL> SELECT log_id, job_name, status,TO_CHAR(ACTUAL_START_DATE,'DD-MON-YYYYHH24:MI') start_date,TO_CHAR (log_date, 'DD-MON-YYYY HH24:MI') log_date FROM dba_scheduler_job_run_details WHERE job_name = 'GATHER_STATS_JOB' order by4;

LOG_IDJOB_NAME STATUS START_DATE LOG_DATE

---------- -------------------- ---------------------------------------- --------------------

1480GATHER_STATS_JOB SUCCEEDED 02-AUG-2010 22:00 03-AUG-2010 00:58

1561 GATHER_STATS_JOB STOPPED 03-AUG-2010 22:00 04-AUG-2010 06:00

1640GATHER_STATS_JOB SUCCEEDED 04-AUG-2010 22:00 05-AUG-2010 05:36

1680GATHER_STATS_JOB SUCCEEDED 05-AUG-2010 22:00 05-AUG-2010 22:25

1741GATHER_STATS_JOB SUCCEEDED 06-AUG-2010 22:00 06-AUG-2010 22:27

1800GATHER_STATS_JOB SUCCEEDED 07-AUG-2010 06:00 07-AUG-2010 06:02

384 GATHER_STATS_JOB STOPPED 07-JUL-2010 22:00 08-JUL-2010 06:00

463GATHER_STATS_JOB SUCCEEDED 08-JUL-2010 22:00 09-JUL-2010 05:06

503GATHER_STATS_JOB SUCCEEDED 09-JUL-2010 22:00 09-JUL-2010 22:05

544GATHER_STATS_JOB SUCCEEDED 10-JUL-2010 06:00 10-JUL-2010 06:02

589GATHER_STATS_JOB SUCCEEDED 12-JUL-2010 22:00 12-JUL-2010 22:04

597 GATHER_STATS_JOB SUCCEEDED 13-JUL-2010 22:00 13-JUL-2010 22:03

SQL> SELECTLOG_DATE,RUN_DURATION,JOB_NAME,STATUS,ERROR#FROM DBA_SCHEDULER_JOB_RUN_DETAILS WHERE JOB_NAME='GATHER_STATS_JOB'order by 1 desc;

LOG_DATE RUN_DURATION JOB_NAME STATUS ERROR#

-------------------------------------------------- ------------------ ----------- ----------

26-MAY-10 10.00.09.290291 PM +08:00 +00000:00:05 GATHER_STATS_JOB FAILED 22303

25-MAY-10 10.00.08.973684 PM +08:00 +00000:00:06 GATHER_STATS_JOB FAILED 4031

24-MAY-10 10.00.22.977244 PM +08:00 +00000:00:18 GATHER_STATS_JOB FAILED 4031

22-MAY-10 06.00.16.950362 AM +08:00 +00000:00:13 GATHER_STATS_JOB FAILED 4031

21-MAY-10 10.00.49.653788 PM +08:00 +00000:00:47 GATHER_STATS_JOB FAILED 4031

20-MAY-10 10.00.14.028432 PM +08:00 +00000:00:11 GATHER_STATS_JOB FAILED 4031

19-MAY-10 10.00.20.828607 PM +08:00 +00000:00:18 GATHER_STATS_JOB FAILED 4031

19-MAY-10 05.54.27.871444 AM +08:00 +00007:54:25 GATHER_STATS_JOB SUCCEEDED 0

18-MAY-10 05.36.01.494920 AM +08:00 +00007:35:59 GATHER_STATS_JOB SUCCEEDED 0

15-MAY-10 07.06.05.793257 AM +08:00 +00001:06:01 GATHER_STATS_JOB SUCCEEDED 0

15-MAY-10 03.56.50.898303 AM +08:00 +00005:56:48 GATHER_STATS_JOB SUCCEEDED 0

SQL> SELECTlog_id, job_name, status,TO_CHAR(ACTUAL_START_DATE,'DD-MON-YYYY HH24:MI')start_date,TO_CHAR (log_date, 'DD-MON-YYYY HH24:MI') log_date FROM dba_scheduler_job_run_details WHERE job_name = 'AUTO_SPACE_ADVISOR_JOB' order by 4;

LOG_ID JOB_NAME STATUS START_DATE LOG_DATE

----------------------------------- --------------- --------------------

1460 AUTO_SPACE_ADVISOR_JOB SUCCEEDED 02-AUG-2010 22:00 02-AUG-2010 22:16

1520 AUTO_SPACE_ADVISOR_JOB SUCCEEDED 03-AUG-2010 22:00 03-AUG-2010 23:18

1600 AUTO_SPACE_ADVISOR_JOB SUCCEEDED 04-AUG-2010 22:00 04-AUG-2010 22:19

1681 AUTO_SPACE_ADVISOR_JOB SUCCEEDED 05-AUG-2010 22:00 05-AUG-2010 22:28

1740 AUTO_SPACE_ADVISOR_JOB SUCCEEDED 06-AUG-2010 22:00 06-AUG-2010 22:17