您的位置:首页 > 数据库 > Oracle

Oracle 11.2.0.3 ORA-12012ORA-29280 ORA-06512

2014-02-21 17:17 447 查看
Oracle 11.2.0.3 ORA-12012ORA-29280 ORA-06512

问题现象:
db alert日志中出现如下告警信息:
Errors infile/app/oracle/diag/rdbms/cctv/CCTV2/trace/CCTV2_j000_1370.trc:
ORA-12012: error on auto execute ofjob"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

环境:
OS:RedHat EnterPrise 5.8 X64_x86
DB:Oracle 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] view plaincopy

1. SQL>set line 300
2.
3. SQL>col owner for a8
4.
5. SQL>col DIRECTORY_NAME for a25
6.
7. SQL>COL DIRECTORY_PATH for a60
8.
9. SQL> select * from dba_directories whereDIRECTORY_NAME like '%OCM_CONFIG%';
10.
11.
12.
13. OWNER DIRECTORY_NAME DIRECTORY_PATH
14.
15. -------- -------------------------------------------------------------------------------------
16.
17. SYS ORACLE_OCM_CONFIG_DIR /app/oracle/product/11.2.0/db_1/ccr/state
18.
19.
20.
21. 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
andAdministration 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] view plaincopy

1. SQL>exec dbms_scheduler.disable('ORACLE_OCM.MGMT_CONFIG_JOB');
2.
3.
4.
5. PL/SQLprocedure successfully completed.
6.
7.
8.
9. SQL>exec dbms_scheduler.disable('ORACLE_OCM.MGMT_STATS_CONFIG_JOB');
10.
11.
12.
13. PL/SQLprocedure successfully completed.
14.
15.
16.
17. SQL>

MOS把该问题定位为:Bug13385346 导致:
Bug 13385346 : GCR0TRACE FILESCONTINUOUSLY CREATED WITHKJGCR_DELETESO MESSAGES

该bug的解决办法: 忽略生成的错误信息, 并已经12.1中已经修复。

MOS 参考文档:

"ORA-12012:error on auto execute ofjobORACLE_OCM.MGMT_CONFIG_JOB_2_1" And"ORA-29280: invaliddirectorypath"
In Database AlertLog [ID1453959.1]

How To ManuallyRemove ORACLE_OCM FromDatabase [ID859113.1]

How to deinstallOCM (Doc ID 761313.1)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: