Oracle 11.2.0.3 ORA-12012ORA-29280 ORA-06512-阿里云开发者社区

开发者社区> 数据库> 正文

Oracle 11.2.0.3 ORA-12012ORA-29280 ORA-06512

简介:   Oracle 11.2.0.3 ORA-12012ORA-29280 ORA-06512   问题现象: db alert日志中出现如下告警信息: Errors in file/app/oracle/diag/rdbms/cctv/CCTV2/trace/CCTV2_j000_1370.



Oracle 11.2.0.3 ORA-12012ORA-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

 

环境:

OSRedHat EnterPrise 5.8 X64_x86

DBOracle 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目录是否存在:

 

SQL>set line 300

SQL>col owner for a8     

SQL>col DIRECTORY_NAME for a25

SQL>COL DIRECTORY_PATH for a60 

SQL>  select * from dba_directories whereDIRECTORY_NAME like '%OCM_CONFIG%';

 

OWNER    DIRECTORY_NAME            DIRECTORY_PATH

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

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

 

SQL>





 

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

 

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

解决办法一、

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

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

详细请参考:OracleConfigurationManager 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;

 

 

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

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

 

PL/SQLprocedure successfully completed.

 

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

 

PL/SQLprocedure successfully completed.

 

SQL>

 

MOS把该问题定位为:Bug13385346 导致:

Bug 13385346 : GCR0TRACE 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 [ID1453959.1]

 

How To ManuallyRemove ORACLE_OCM FromDatabase [ID 859113.1]

 

How to deinstallOCM (Doc ID 761313.1)

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章