巡检时出现

Tue Jul 17 22:00:08 2012
Errors in file e:\oracle\product\10.2.0\admin\zsdb\bdump\zsdb_j000_2032.trc:
ORA-12012: error on auto execute of job 8887
ORA-44003: invalid SQL name

显然这是个 任务执行失败的错误

查看zsdb_j000_2032.trc 中的日志

*** ACTION NAME:(AUTO_SPACE_ADVISOR_JOB) 2012-07-17 22:00:08.403
*** MODULE NAME:(DBMS_SCHEDULER) 2012-07-17 22:00:08.403
*** SERVICE NAME:(SYS$USERS) 2012-07-17 22:00:08.403
*** SESSION ID:(142.5672) 2012-07-17 22:00:08.403
*** 2012-07-17 22:00:08.403
ORA-12012: error on auto execute of job 8887
ORA-44003: invalid SQL name

为了确定该错误对系统的性能是否有性能影响,做了AWR报告结果:

auto_space_advisor_job_proc,CPU Time消耗高达4226秒:

call dbms_space.auto_space_advisor_job_proc ( )

执行花费了大量的时间,3000多秒,进而执行的SQL:

insert into wri$_adv_objspace_trend_data select timepoint, space_usage, space_alloc, quality from table(dbms_space.object_growth_trend(:1, :2, :3, :4, NULL, NULL, NULL, 'FALSE', :5, 'FALSE'))
    也花费了2514秒的时间,这显然是不正常的。

在正常情况下,单独跟踪一下SQL*Plus手工执行,可以获得这个SQL的执行统计信息:

注意到,这个Insert仍然消耗了389秒的时间,逻辑读429,297,性能是存在问题的。在Metalink上存在如下一个Bug:
    Bug 5376783: DBMS_SPACE.OBJECT_GROWTH_TREND CALL TAKES A LOT OF DISK READS

这个Bug在DBMS_SPACE.OBJECT_GROWTH_TREND进行空间分析时被触发,根本原因在于内部算法在执行空间检查时,耗费了大量的评估IO成本,导致了大量的IO资源使用。

临时的处理办法是,暂时关闭这个自动任务:

execute dbms_scheduler.disable('AUTO_SPACE_ADVISOR_JOB');

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

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

SQL> select job_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

在以上的调度任务中,GATHER_STATS_JOB是Oracle Database 10g开始引入的自动统计信息收集的任务,该任务缺省的调度是,工作日每晚22:00至凌晨6:00进行分析,周末全天进行分析。在以下输出中,我们可以看到任务无法完成,STOP的情况:

SQL> SELECT log_id, job_name, status,

2         TO_CHAR(ACTUAL_START_DATE,'DD-MON-YYYY HH24:MI') start_date,TO_CHAR (log_date, 'DD-MON-YYYY HH24:MI') log_date

3    FROM dba_scheduler_job_run_details

4   WHERE job_name = 'GATHER_STATS_JOB' order by 4;

LOG_ID JOB_NAME             STATUS               START_DATE           LOG_DATE

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

1480 GATHER_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

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

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

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

1800 GATHER_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

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

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

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

589 GATHER_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

在一些大型数据库中,这个任务不一定能够有效执行,以下是某用户的数据库环境,输出显示,多日数据库都因为ORA-04031错误未能完成统计信息收集采样:

SQL> SELECT LOG_DATE,RUN_DURATION,JOB_NAME,STATUS,ERROR#

2  FROM DBA_SCHEDULER_JOB_RUN_DETAILS

3  WHERE JOB_NAME='GATHER_STATS_JOB'

4  order by 1 desc;

LOG_DATE                            RUN_DURATION    JOB_NAME           STATUS          ERROR#

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

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

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

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

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

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

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

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

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

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

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

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

在GATHER_STATS_JOB任务不能够有效的执行时,我们必须及时的介入去手工处理,不及时的统计信息可能使数据库产生错误的执行计划。

正常的AUTO_SPACE_ADVISOR_JOB调度可能应该有着类似以下输出的执行结果:

SQL> SELECT log_id, job_name, status,TO_CHAR(ACTUAL_START_DATE,'DD-MON-YYYY HH24:MI') start_date,

2         TO_CHAR (log_date, 'DD-MON-YYYY HH24:MI') log_date

3    FROM dba_scheduler_job_run_details

4   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-ORA

转载于:https://www.cnblogs.com/jerryxing/archive/2012/08/02/2619354.html

ORA-07445 ERROR on auto execute of job 8913相关推荐

  1. ORA-12012 Error on auto execute of job SYS.ORA$AT_OS_OPT_SY_NN in 12.2.0 Database

    报错如下: ORA-12012: error on auto execute of job "SYS"."ORA$AT_OS_OPT_SY_88" ORA-20 ...

  2. Orace 12.2 ORA-12012: error on auto execute of job SYS.ORA$AT_OS_OPT_SY_21

    一个测试环境的12.2.0.1数据库后台alert不断报出以下错误信息: Errors in file /d12/app/oracle/diag/rdbms/test/test/trace/test_ ...

  3. oracle18c报错ORA-12012: error on auto execute of job

    新安装的oracle18c数据库,alert log一直出错: ORA-12012: error on auto execute of job ORA-12012: error on auto exe ...

  4. ORA-12012: error on auto execute of job SYS.BSLN_MAINTAIN_STATS_JOB ORA-01950: no privileges on

    收到凌晨邮件告警 Errors in file /opt/oracle/diag/rdbms/xxxx/xxxx2/trace/ixxxx2_j000_5002.trc:   ORA-12012: e ...

  5. ORA-12012: error on auto execute of job quot;ORACLE_OCM

    ALERT日志中报错例如以下: Sun Mar 30 06:05:40 2014 Errors in file /oracle/app/oracle/diag/rdbms/zscims/zscims1 ...

  6. ORA-12012: error on auto execute of job SYS.BSLN_MAINTAIN_STATS_JOB

    一.版本信息 操作系统版本: AIX 6100 数据库版本: 11.2.0.3(psu5) 二.错误描述 在alert 日志中发现如下报错 Sun Sep 28 15:00:22 2014 Error ...

  7. ORA-12012: error on auto execute of job “SYS“.“ORA$AT_OS_OPT_SY_12062“ ORA-20001: Statistics Advisor

    近期排查oracle日志报错的时候发现: 报错内容为:当前用户的任务名无效.(Invalid task name for the current user) 在网上搜索了一波之后,据oracle给出的 ...

  8. ERROR 1370 (42000): execute command denied to user ‘james‘@‘localhost‘ for routine ‘test.coun_add‘

    对于 ERROR 1370 (42000): execute command denied to user 'james'@'localhost' for routine 'test.coun_add ...

  9. clang++ exe error unable to execute command Couldnt execute program文件名或扩展名太长

    在VS中用VisualGDB插件编译安卓工程,莫名其妙突然出现以下报错:clang++.exe: error: unable to execute command: Couldn't execute ...

最新文章

  1. CISCO设备部分型号IOS下载
  2. python - DBUtils 连接池减少oracle数据库的连接数
  3. Sublime注释插件--DocBlockr
  4. 跳槽“六要”你懂吗?[转载]
  5. BZOJ 1013: [JSOI2008]球形空间产生器sphere 高斯消元
  6. h3c_rip附加相关视频
  7. QT下opencv的编译和使用
  8. Nginx在Windows平台的配置与使用
  9. Linux上端口开放常用命令
  10. MyBatis Plus——自定义配置——自定义属性——注入时间
  11. javascript --- [虚拟DOM] 初始化 实现
  12. 图象:sine(正弦)、cosine(余弦)与Tangent(正切)
  13. Android Camera 编程从入门到精通
  14. 数据库基础:什么是MySQL?
  15. 小白记事本--链表--loading
  16. Python学习之路_day_08(函数介绍)
  17. iOS面试题:Socket原理
  18. css3实现椭圆轨迹运动
  19. 3.STC15W408AS单片机GPIO
  20. 日化行业DMS全渠道商城系统

热门文章

  1. rfid在高速公路管理中的应用_RFID亮灯电子标签在仓储管理中的应用
  2. python能不能在win10系统中使用_python在win10下可以用吗
  3. nginx 没有cookie_Nginx入门学习(1):一些概念
  4. 1024乘风破浪季,3本好书助你平步青云
  5. 解决Tensorflow2.0出现:AttributeError: module ‘tensorflow‘ has no attribute ‘get_default_graph‘的问题
  6. 以太坊2.0合约质押新增1.81万ETH
  7. SAP License:关于未分摊差异的几种处理办法
  8. SAP License:SAP中的报表查询
  9. web端项目管理/工程项目劳务资源管理系统/考勤审批/人员招聘/企业管理系统/工资管理/入职管理/组织结构/财务管理/大数据指挥中心/劳务系统/岗位工种/智慧工程监管/劳务app原型/axure原型
  10. Python入门学习笔记(5)