两个Oracle配置问题的记录

 

Oracle数据库无论是在安装还是运行,都涉及到与周边软硬件的各种联系。一套健康的数据库系统,要想顺利安装并且平稳运行,都需要各方面周边组件的配置调整。一旦某个方面存在问题,一些想当然的过程都会出现问题。

本篇记录了最近遇到的两个问题,记录下来,留待不时之需。

 

1Oracle 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之后,这种夜间作业机制在不断的强化,但是执行时间窗口有了变化,起始时间调整为夜间2200开始。我们在日志中看到的报错,就是Oracle OCMOracle Configuration Manager)夜间执行的作业之一。

OCMOracle内部的一个工作组件,用于提供一些配置参数协助方面的工作。我们安装数据库后,会看到用户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')

 

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

 

2Windows环境下网卡驱动缺失引发的INS-30131安装错误

 

在各种系统安装过程中,Windows版本的Oracle是最好安装的,也是操作步骤最容易的一个版本。即不需要配置单独的用户,也不需要调整系统配置参数。环境变量、用户角色、目录规划基本上Oracle都为我们配置好了。

但是,也正是因为如此。Windows环境下的Oracle,是通常管理最散漫、管理员了解最少、出现问题最无助的一个环境。我们对Windows环境下系统运行的了解,很多情况下甚至不如Linux/AIX环境下的了解。

笔者在安装一个全新的物理机,由于网络配置问题,只能现在机房进行安装。拷贝安装介质解压之后,运行数据库安装软件安装。进行安装的版本为11.2.0.4

进行检查过程中,出现错误如下:

 

bb

 

系统报错INS-30131,安装过程验证错误。点开细节Details,可以查看内容:

 

bb

 

无法访问创建临时文件目录。这个错误在windows上面很少见,而且我们是使用administrator进行系统安装,理论上没有权限限制问题。

检查MOS,虽然有这个错误的提示,但是主要在12c安装过程中出现的。问题的根源在C$默认共享上。经过检查,也没有发现明显的故障问题点。于是问题就又回到原点。

一个很偶然的情况,笔者和同事发现这台Sun物理服务器上虽然安装了操作系统Windows 2008R2,但是并没有网卡显示。设备管理器上显示不能识别网卡设备,也就是说网卡驱动没有安装。

C$共享和网卡驱动也许是有关系的,但是这种关系是不是造成问题出现的根源,笔者并不确认。但是有一个是确定的,网卡驱动是必须要安装上。

经历一些波折,总算安装好服务器启动,虽然没有连接,但是再次执行之后,问题消失。

这个案例给笔者的教训是:数据库的安装、配置和运行,并不是独立的,而是与操作系统、网络和整体环境紧密相关。在一些不可思议问题出现的时候,正是我们要检查一下基本环境是否有变化问题的时候。

 

3、结论

 

实际工作过程中,我们会遇到多种多样的问题故障。逐步进行解决的过程,也就是我们不断成长、积累经验和丰富阅历的过程。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17203031/viewspace-1183336/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/17203031/viewspace-1183336/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值