一:版本信息
操作系统版本:AIX 61009
数据库版本:11.2.0.3.11(RAC)
二:错误描述
在database的alert日志中发现如下报错:
ORA-12012: error on auto execute of job "ORACLE_OCM"."MGMT_CONFIG_JOB_2_1" ORA-29280: invalid directory path ORA-06512: at "ORACLE_OCM.MGMT_DB_LL_METRICS", line 2436 ORA-06512: at line 1 Tue Oct 21 22:13:51 2014
三:错误原因及解决方案
在MOS上查到1453959.1 这个note其详细内容如下:
"ORA-12012: error on auto execute of job ORACLE_OCM.MGMT_CONFIG_JOB_2_1" And "ORA-29280: invalid directory path" In Database AlertLog (Doc ID 1453959.1) In this Document Symptoms Changes Cause Solution References -------------------------------------------------------------------------------- Applies to: Oracle Configuration Manager - Version 10.3.3.0.0 and later Information in this document applies to any platform. Symptoms Following error is reported every 24 hours in the alertLog file of a 11.2.0.3 database: Errors in file /opt/oracle/diag/rdbms/db/trace/db_j001_26027.trc: ORA-12012: error on auto execute of job "ORACLE_OCM"."MGMT_CONFIG_JOB_2_1" ORA-29280: invalid directory path ORA-06512: at "ORACLE_OCM.MGMT_DB_LL_METRICS", line 2436 ORA-06512: at line 1 Changes Newly installed 11.2.0.3 database, or recently upgraded to 11.2.0.3 from an earlier release. Cause Newer database releases are automatically instrumented for OCM collections. But here, the OCM instrumentation job is trying to write to a "state" directory which doesn't yet exists. <span style="color:#ff0000;">##新的数据库版本会自动记录OCM收集信息,但是写入的时候发目录不存在所以报错. </span>To verify the OCM db directories, run as sysdba: SQL>select * from dba_directories where DIRECTORY_NAME like '%OCM_CONFIG%'; MGMT_DB_LL_METRICS wants to write to ORACLE_OCM_CONFIG_DIR2, which is not created by the built-in instrumentation scripts. <span style="color:#ff0000;">##MGMT_DB_LL_METRICS需要写入到ORACLE_OCM_CONFIG_DIR2目录下,但是这个目录在脚本中并没有被创建.</span> Solution Problem is fixed with OCM Collector version 10.3.7 A. But out-of-box the 11.2 database includes earlier OCM version, therefore one must re-configure database for OCM collections by running the "ORACLE_HOME/ccr/admin/scripts/installCCRSQL" script. If script is missing, first configure OCM by running "ORACLE_HOME/ccr/bin/setupCCR". Pay attention when on RAC database, with a non-shared file system environment, must set the ORACLE_CONFIG_HOME environment variable to $ORACLE_HOME prior to running the installCCRSQL.sh script. Reference: Oracle Configuration Manager Installation and Administration Guide or B. when not using the OCM Collector, remove the OCM objects from database: SQL> drop user ORACLE_OCM cascade; OCM is a standalone, separate tool and removing won't affect the database functionality. Or could simply disable the OCM jobs by running: exec dbms_scheduler.disable('ORACLE_OCM.MGMT_CONFIG_JOB') exec dbms_scheduler.disable('ORACLE_OCM.MGMT_STATS_CONFIG_JOB') References NOTE:859113.1 - How To Manually Remove ORACLE_OCM From Database
##MOS里面给出了三种解决方法:
1.重新配置OCM
2.如果我们不需要使用OCM Collector可以删除OCM用户和相关对象
3.禁用OCMjob
##MOS中把该错误列为一个BUG "Bug 13385346 : GCR0 TRACE FILES CONTINUOUSLY CREATED WITH KJGCR_DELETESO MESSAGES",所给的临时解决方案是忽略报错,该BUG在12.1中已经修复