ALERT日志中报错如下:

Sun Mar 30 06:05:40 2014


Errors in file /oracle/app/oracle/diag/rdbms/zscims/zscims1/trace/zscims1_j001_15269946.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


数据库版本:

Oracle Database 11g Enterprise Edition Relea

se 11.2.0.3.0 - 64bit Production


PL/SQL Release 11.2.0.3.0 - Production


CORE    11.2.0.3.0      Production


TNS for IBM/AIX RISC System/6000: Version 11.2.0.3.0 - Production


NLSRTL Version 11.2.0.3.0 - Production


#################


参考MOS文档:

"ORA-12012: error on auto execute of job ORACLE_OCM.MGMT_CONFIG_JOB_2_1" And "ORA-29280: invalid directory path" In Database AlertLog (文档 ID 1453959.1)



报错原因是:

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.   ---目录不存在


ORACLE_OCM 账户是用来管理Oracle Configuration Manager的。 默认情况下, 该账户是Expired and locked状态。

该错误只出现在OracleRDBMS 11.2.0.3 的版本(新安装的db,或者从其他版本升级到11.2.0.3的),或者Oracle Configuration Manager 的版本大于10.3.3.0.0。



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.



如果不需要向MOS上传搜集信息,可以删除用户ORACLE_OCM来解决,语句:

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.


#####################################


如是10g--Version 10.2.3 to 10.3.1,参考MOS文档:How To Manually Remove ORACLE_OCM From Database (文档 ID 859113.1)

解决方法:


如不需要使用此功能,可以删除用户ORACLE_OCMT和相应DIRECTORY来解决,语句:


In order to manually remove the ORACLE_OCM user and associated objects from database, run:


SQL> drop user ORACLE_OCM cascade;


SQL> drop directory ORACLE_OCM_CONFIG_DIR;