您好,欢迎访问一九零五行业门户网

ORA-12012: error on auto execute of job “ORACLE_OCM"."MGMT_C

前段时间去客户那里做数据库健康检查,环境是hp-ux,11.2.0.3,原来是10g的库,后来升级到11g的,发现他们的一个库中报了以下的错
前段时间去客户那里做数据库健康检查,环境是hp-ux,11.2.0.3,原来是10g的库,后来升级到11g的,发现他们的一个库中报了以下的错误:
errors in file /u01/app/oracle/diag/rdbms/sisdb/sisdb1/trace/sisdb1_j001_7106.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
ora-12012错误通常只是告诉你一件事情,那就是job执行失败,具体是什么原因导致的还是要看下面的ora-29280,这里提示是非法路径。咋一看,就可以知道,这个job似乎并不是业务上的,因为schema是oracle_ocm,肯定是oracle自己的某个组件。
其实这个用户是oracle 预定义的非管理员用户:
oracle_ocm
see oracle database installation guide for your platform.
这个用户主要是用于oracle配置管理器,当发出sr请求时,它和数据库实例配置相联系,把配置信息发送给oracle供分析。默认情况下是过期或锁定的。
oracle官方文档是这么描述的:
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.
在某些情况下,新版本数据库自动为ocm做了收集,但ocm配置的job试图去写一个没有被内置配置创建的目录:oracle_ocm_config_dir2,因此也就有了“ora-29280: invalid directory path”的提示了
to verify if the ocm directories exist or not, run the following as sysdba:
sql> set lin 130
sql> col owner for a10
sql> col directory_name for a25
sql> col directory_path for a50
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.
首先查看ocm是否正确的配置过:
$oracle_home/ccr/bin/deploypackages -l
如果返回'proceed to step 2'的内容,则说明并没有配置过,,可以运行以下2个脚本,重新创建ocm相关的directory目录并赋予权限:
sql> @oracle_home/ccr/admin/scripts/ocmjb10.sql
sql> @oracle_home/ccr/admin/scripts/execute execocm.sql
最后检验一下:
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
看到ocm的directory确实是有一个具体路径了,就说明已经配置好了
 这个问题通常发生在新安装或升级到11.2.0.3的oracle数据库上,由于ocm是一个独立工具,仅用于向mos上传搜集信息,即使删除它不会对数据库造成影响,可以通过以下命令,删除ocm用户及相应的目录:
sql> drop user oracle_ocm cascade;
sql> drop directory oracle_ocm_config_dir;
sql> drop directory oracle_ocm_config_dir2;
或者不删除用户,只禁用该job:
exec dbms_scheduler.disable('oracle_ocm.mgmt_config_job')
exec dbms_scheduler.disable('oracle_ocm.mgmt_stats_config_job')
这样,就不会在alert日志里报ora-12012的错误了。
在centos 6.4下安装oracle 11gr2(x64)
oracle 11gr2 在vmware虚拟机中安装步骤
debian 下 安装 oracle 11g xe r2
oracle linux 6.5安装oracle 11.2.0.4 x64
本文永久更新链接地址:
其它类似信息

推荐信息