Oracle 11.2.0.3 ORA-12012ORA-29280 ORA-06512

来源:互联网 发布:企业邮箱域名入口 编辑:程序博客网 时间:2024/06/09 15:56

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)

 

0 0
原创粉丝点击