ITPub博客

首页 > 数据库 > Oracle > Oracle 11.2.0.3 ORA-12012 ORA-29280 ORA-06512

Oracle 11.2.0.3 ORA-12012 ORA-29280 ORA-06512

Oracle 作者:达芬奇的梦 时间:2018-05-07 16:38:43 0 删除 编辑

Oracle 11.2.0.3 ORA-12012 ORA-29280 ORA-06512

 

问题现象:

db alert日志中出现如下告警信息:

Errors in file /app/oracle/diag/rdbms/cctv/CCTV2/trace/CCTV2_j000_1370.trc:

ORA-12012: error on auto execute of job "ORACLE_OCM"."MGMT_CONFIG_JOB_2_2"

ORA-29280: invalid directory path

ORA-06512: at "ORACLE_OCM.MGMT_DB_LL_METRICS", line 2436

ORA-06512: at line 1

 

环境:

OS:RedHat EnterPrise 5.8 X64_x86

DB:Oracle EnterPrise 11.2.0.3 RAC

 

错误分析:

         是ORACLE_OCM这个用户在执行MGMT_DB_LL_METRICS这个计划任务所报的错误。

ORACLE_OCM帐户是用来管理Oracle Configuration Manager的,该帐户默认是锁定状态。

 

官方对ORACLE_OCM用户的介绍说明:

ORACLE_OCM

This account contains the instrumentation for configuration collection used by the Oracle Configuration Manager.

Oracle Configuration Manager Installation and Administration Guide

 

         该错误目前只发现在11.2.0.3上出现过。

 

问题原因:

         是由于ORACLE_OCM执行计划任务脚本需要往目录写信息,而该目录不存在故发生计划任务执行失败在alert日志中报错。

 

手工检查OCM_DB目录是否存在:

 

  1. SQL> set line 300

  2. SQL> col owner for a8

  3. SQL> col DIRECTORY_NAME for a25

  4. SQL> COL DIRECTORY_PATH for a60

  5. SQL> select * from dba_directories where DIRECTORY_NAME like \'%OCM_CONFIG%\';

  6.  

  7. OWNER DIRECTORY_NAME DIRECTORY_PATH

  8. -------- ------------------------- ------------------------------------------------------------

  9. SYS ORACLE_OCM_CONFIG_DIR /app/oracle/product/11.2.0/db_1/ccr/state

  10.  

  11. SQL>


注意:在这里我们可以看到只有ORACLE_OCM_CONFIG_DIR一个目录,而不包含MGMT_DB_LL_METRICS需要写入的ORACLE_OCM_CONFIG_DIR2,所以才会报我们上面看到这个错误。

 

在这里有如下三个解决该问题的办法:

解决办法一、

1、可以通过执行"ORACLE_HOME/ccr/admin/scripts/installCCRSQL"脚本重新配置OCM collections。

2、如果上述脚本不存在那么需要执行"ORACLE_HOME/ccr/bin/setupCCR"脚本来配置OCM。后再执行1中的脚本

详细请参考:OracleConfiguration Manager Installation and Administration Guide

 

解决方法二、

       在sql中执行如下语句,禁用报错的job.

execdbms_scheduler.disable('ORACLE_OCM.MGMT_CONFIG_JOB')
exec dbms_scheduler.disable('ORACLE_OCM.MGMT_STATS_CONFIG_JOB')

 

解决方法三、

       直接将OCM删除,并移除相关对象,使其永久失效:

SQL> drop user ORACLE_OCM cascade;

 

 

我在这里采用的是第二种解决办法:


  1. SQL> exec dbms_scheduler.disable(\'ORACLE_OCM.MGMT_CONFIG_JOB\');

  2.  

  3. PL/SQL procedure successfully completed.

  4.  

  5. SQL> exec dbms_scheduler.disable(\'ORACLE_OCM.MGMT_STATS_CONFIG_JOB\');

  6.  

  7. PL/SQL procedure successfully completed.

  8.  

  9. SQL>

 

MOS把该问题定位为:Bug 13385346 导致:

Bug 13385346 : GCR0 TRACE FILES CONTINUOUSLY CREATED WITHKJGCR_DELETESO MESSAGES

 

该bug的解决办法: 忽略生成的错误信息, 并已经12.1中已经修复。

 

 

MOS 参考文档:

 

"ORA-12012: error on auto execute ofjob ORACLE_OCM.MGMT_CONFIG_JOB_2_1" And "ORA-29280: invalid directorypath" In Database AlertLog [ID 1453959.1]

 

How To Manually Remove ORACLE_OCM FromDatabase [ID 859113.1]

 

How to deinstall OCM (Doc ID 761313.1)

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31444259/viewspace-2154111/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2017-03-15

  • 博文量
    172
  • 访问量
    296700