ORA- 12012 : err or on aut o execu te of job ORACLE_OCM. MGMT_CONFIG_JOB_2_1 ORA-29280: inval

来源:互联网 发布:袁隆平害了中国人知乎 编辑:程序博客网 时间:2024/04/30 12:52

  巡检客户的数据库,发现alert log中报如下错误:

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


数据库版本11.2.0.3


解决方式见 文档 ID 1615561.1




In this Document

 Symptoms Changes Cause Solution References


APPLIES TO:

Oracle Configuration Manager - Version 10.3.8 and later
Information in this document applies to any platform.

SYMPTOMS

The following error message may appear in a database alert log during the instrumentation phase of OCM: 

Wed Dec 18 22:00:05 2013
Errors in file /u01/app/oracle/diag/rdbms/db1/db1/trace/db1_j001_10411.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

When installing a new database or upgrading a database to newer release.

CAUSE

Newer database releases are automatically instrumented for OCM collections. But in some cases, the OCM instrumentation job is trying to write to a "state" directory called "ORACLE_OCM_CONFIG_DIR2" which doesn't exist.

To verify if the OCM directories exist or not, run the following 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.

 

 

解决方法

To solve this issue please run the following verification steps.

 

1. Run the following command to check if OCM is installed / configured or not.


$ORACLE_HOME/ccr/bin/deployPackages -l

If it returns rows like 'proceed to STEP 2', then OCM is not configured.  
Follow the OCM installation steps given below in Step 2 to properly configure OCM in the Database Oracle Home.

Installed Oracle Configuration Manager Packages:
===============================================
Package core, Version: 12.0.0.0.1 - built 10/15/2013 08:14:17 PM
  built on x86_64; also supported: amd64,i386
Package engines, Version: 12.0.0.0.0 - built 10/15/2013 08:16:01 PM
  built on x86_64; also supported: amd64,i386
Package metricdata, Version: 12.0.0.0.0 - built 10/15/2013 08:16:37 PM
Package ocmcert, Version: 12.0.0.0.0 - built 10/15/2013 08:14:35 PM
  built on
Package rda, Version: 8.02.13.12.10 - built 10-Dec-2013 11:50:07
Package rdacelin, Version: 8.02.13.12.10 - built 10-Dec-2013 11:50:07
  built on i386; also supported: x86,x86_64,i686,amd64,ia64
Package scripts, Version: 12.0.0.0.1 - built 10/15/2013 08:14:39 PM
  built on x86_64; also supported: amd64,i386

 

Installation Steps:

If OCM is not installed, please install it using steps given in the below document. It will create the directory during the installation. NO need to follow step 2.

Oracle Configuration Manager Installation and Administration Guide

 

2. Run the following scripts to create the directory and grant the permissions on directory.

 

Connect as sysdba

SQL> @ORACLE_HOME/ccr/admin/scripts/ocmjb10.sql

SQL> @ORACLE_HOME/ccr/admin/scripts/execute execocm.sql

Depending on OCM and/or Oracle Databases releases the scripts location may change.

Example:

SQL> @ORACLE_HOME/rdbms/admin/ocmjb10.sql
SQL> @ORACLE_HOME/rdbms/admin/execocm.sql
 

 

3.  Now verify the directory information:

 

Output should be like :

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

OWNER    DIRECTORY_NAME         DIRECTORY_PATH
-------- ---------------------- ------------------------------------------------------------------
SYS      ORACLE_OCM_CONFIG_DIR2 /u01/app/oracle/product/11.2.0.3/dbhome_1/ccr/state
SYS      ORACLE_OCM_CONFIG_DIR  /u01/app/oracle/product/11.2.0.3/dbhome_1/ccr/hosts/dc2oda-1/state

**Directory ORACLE_OCM_CONFIG_DIR2 should be returned in output.

对于不使用配置管理器的用户而言,可以disable掉这个JOB,或者直接将ORACLE_OCM删除,如下:

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

OR

SQL> drop user ORACLE_OCM cascade;


0 0
原创粉丝点击