广告
返回顶部
首页 > 资讯 > 数据库 >Oracle OCM作业运行报错ORA-29280
  • 785
分享到

Oracle OCM作业运行报错ORA-29280

2024-04-02 19:04:59 785人浏览 泡泡鱼
摘要

1、oracle OCM作业运行报错ORA-29280 一个同事系统中出现小故障,笔者协助帮助查看。由于系统总体负载很低,也没有明显的功能影响点,笔者也没有直观的思路。一般而言,从alert lo

1、oracle OCM作业运行报错ORA-29280

一个同事系统中出现小故障,笔者协助帮助查看。由于系统总体负载很低,也没有明显的功能影响点,笔者也没有直观的思路。一般而言,从alert log中我们可以按照时间关系查看到Oracle的重要问题现象。

日志情况中,却发现了一些其他问题。

Mon Jun 02 22:00:08 2014

Errors in file /u01/app/oracle/diag/rdbms/dt/MM/trace/MM_j001_43954.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

在系统数据库运行过程中,基本每天夜间22点都会有这个报错出现。系统负载很低(日志切换并不频繁),除此之外没有明显的错误。

22点对于Oracle而言是一个重要的时间点,进入10g之后,Oracle夜间都会自动调度一些维护作业,来确保数据库顺利高效运行。这些作业中,最有名的就是统计量自动收集作业,夜间对新对象或者变化频繁对象进行数据统计量收集。

进入11g之后,这种夜间作业机制在不断的强化,但是执行时间窗口有了变化,起始时间调整为夜间22:00开始。我们在日志中看到的报错,就是Oracle OCM(Oracle Configuration Manager)夜间执行的作业之一。

OCM是Oracle内部的一个工作组件,用于提供一些配置参数协助方面的工作。我们安装数据库后,会看到用户schema列表中包括一个名称为ORACLE_OCM的用户名,就是这个组件的内部对应数据用户集合

根据Oracle MOS的介绍,出现这样的错误是由于Oracle数据库升级过程中的不完全造成的。在OCM进行度量(instrument)过程中,会自动往一些directory目录位置写入信息。如果目录配置有问题,就会引起报错。

一般系统中,我们也可以看到这些默认的目录的。

sql> select directory_name, directory_path from dba_directories;

DIRECTORY_NAME                DIRECTORY_PATH

------------------------------ --------------------------------------------------------------------------------

XMLDIR                        /u01/app/oracle/rdbms/xml

ORACLE_OCM_CONFIG_DIR          /u01/app/oracle/ccr/hosts/Simplelinux.localdomain/state

DATA_PUMP_DIR                  /u01/app/admin/ora11g/dpdump/

ORACLE_OCM_CONFIG_DIR2        /u01/app/oracle/ccr/state

在很多情况下,ORACLE_OCM_CONFIG_DIR2目录中是会写入一些数据的。如果这个目录配置有问题或者不存在,就会出现作业报错的情况。

了解了问题原因,解决之道就比较容易了。和其他元数据损坏处理方法相同,或者执行安装脚本,重新安装组件,或者禁用组件运行。

下面是进行OCM目录配置的方法步骤。说明:由于环境所限,笔者没有进行实际测试,下列脚本在第三方环境中进行。

首先运行脚本检查OCM配置安装情况。

[oracle@SimpleLinux ~]$ cd $ORACLE_HOME/ccr/bin

[oracle@SimpleLinux bin]$ ls -l | grep deploy

-rw-r--r--. 1 oracle oinstall 48758 Jun  5  2013 deployPackages

[oracle@SimpleLinux bin]$ chmod 755 deployPackages

[oracle@SimpleLinux bin]$ ./deployPackages -l

The Oracle Configuration Manager state/writeable directory structure is incomplete.

OCM is not configured for this host or ORACLE_CONFIG_HOME. Please configure OCM first.

根据笔者环境的提示,OCM没有在笔者服务器进行配置,如果配置了,就会显示如Step2的提示内容。

第二步是执行脚本创建OCM directory对象和授予权限。

SQL> conn / as sysdba

Connected.

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

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

最后确定directory创建情况。

SQL> select directory_name, directory_path from dba_directories where DIRECTORY_NAME like '%OCM_CONFIG%';

DIRECTORY_NAME                DIRECTORY_PATH

------------------------------ --------------------------------------------------------------------------------

ORACLE_OCM_CONFIG_DIR          /u01/app/oracle/ccr/hosts/SimpleLinux.localdomain/state

ORACLE_OCM_CONFIG_DIR2        /u01/app/oracle/ccr/state

注意:要求DIR2是存在的。

第二种方法更加简单,如果确定系统不需要OCM运行,可以关闭这个作业执行。毕竟多一事不如少一事,当然这个需要确认系统不需要OCM的运行。

删除ORACLE_OCM用户schema,或者禁用job作业。

exec dbms_scheduler.disable('ORACLE_OCM.MGMT_CONFIG_JOB')

exec dbms_scheduler.disable('ORACLE_OCM.MGMT_STATS_CONFIG_JOB')

这个案例并不难解决,但是告诉我们一点:对系统的维护过程,要是全方面的。定期查看系统运行日志,及时发现潜在问题,解决问题很重要。让数据库“带伤”运行,未来会带来一些意想不到的问题。

您可能感兴趣的文档:

--结束END--

本文标题: Oracle OCM作业运行报错ORA-29280

本文链接: https://www.lsjlt.com/news/49438.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle OCM作业运行报错ORA-29280
    1、Oracle OCM作业运行报错ORA-29280 一个同事系统中出现小故障,笔者协助帮助查看。由于系统总体负载很低,也没有明显的功能影响点,笔者也没有直观的思路。一般而言,从alert lo...
    99+
    2022-10-18
  • oracle expdp作业外表报错ORA-20011&KUP-11024&ORA-29913该怎么办
    本篇文章为大家展示了oracle expdp作业外表报错ORA-20011&KUP-11024&ORA-29913该怎么办,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作