--在dataguard之后,physical standby的ocm error:
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
--------------------
col owner format a10
col directory_name format a30
col directory_path format a50
sql> select * from dba_directories where directory_name like '%ocm_config%';
owner directory_name directory_path
---------- ------------------------------ --------------------------------------------------
sys oracle_ocm_config_dir /data/oracle/product/11.2.0.3/db1/ccr/state
--而这个目录是之前primary库的目录,所以这边是否可以修改下?
"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]
In this Document
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 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.
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.
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')
--
select * from dba_jobs;
select * from dba_scheduler_jobs;
--
References
@ BUG:12927935 - ORA-12012, ORACLE_OCM.MGMT_DB_LL_METRICS, ORA-29280
NOTE:859113.1 - How To Manually Remove ORACLE_OCM From Database
@ BUG:13402366 - ORA-12012: ERROR ON AUTO EXECUTE OF JOB "ORACLE_OCM"."MGMT_CONFIG_JOB_2_1"