启动10.2.0.5的OEM时,遇到ssl: Open wallet failed, ret = 28750的错误解决方案

概述:
本文的运行环境描述:
OS: redhat linux 5.5 x86_64
DB: oracle 10.2.0.5 (single db)
本文主要描述在linux5.5 上安装了oracle 10.2.0.5,启动oem的时候遇到错误("Open wallet failed, ret = 28750"),无法启动oem. 通过打patch和重新安装oem的方法,解决了这个问题.

一. 问题描述:

启动oem时,启动失败.

$emctl start dbconsole
TZ set to PRC
Oracle Enterprise Manager 10g Database Control Release 10.2.0.5.0
Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved.
https://szgd:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ......................... failed.
------------------------------------------------------------------
Logs are generated in directory /oracle/product/10.2.0/db_1/szgd_szgd/sysman/log

检查日志文件,发现报如下的错误:

$cd $ORACLE_HOME/szgd_szgd/sysman/log
$ tail -f emdctl.trc
......
2012-03-08 17:04:26 Thread-4135643936 ERROR http: 8: Unable to initialize ssl connection with server, aborting connection attempt
2012-03-08 17:04:28 Thread-4135086880 ERROR ssl: Open wallet failed, ret = 28750
2012-03-08 17:04:28 Thread-4135086880 ERROR ssl: nmehlenv_openWallet failed


二. 问题分析
在oracle metalink上查找ssl: Open wallet failed, ret = 28750,找到一遍文档ID=1278564.1,该文档描述的现象与现在的情况完全吻合.
文档中分析此现象的原因是:
The Root Certificate Authority (CA) expired on 31-DEC-2010 00:00:0
解决的办法是依照另外一个文档(ID=1222603.1)的指引,进行修补.

在ID=1222603.1中分析了发生的现象和原因,并提示这个问题是可以通过打补丁(patch_id= 8350262)来解决,并且这个patch打的时候不需要停机.

三. 问题解决
在oracle metalink上下载patch(patch_id= 8350262) for 10.2.0.5,文件名称为:p8350262_10205_Generic.zip
将该文件上传到数据库服务器,然后解包,使用opatch工具,打上这个补丁.
删除旧的oem环境
$emctl stop dbconsole
$emctl stop agent
$ps -ef|grep em
$kill -9 {em的进程号)
$emca -deconfig dbcontrol db -repos drop
emca的这个命令,是要去删除oem的相关用户和对象;这个命令有时候不能顺利完成工作,需要手工删除对象,方法如下:
SQL>drop user sysman cascade;
SQL>drop role MGMT_USER;
SQL>drop user MGMT_VIEW cascade;
SQL>drop public synonym MGMT_TARGET_BLACKOUTS;
SQL>drop public synonym SETEMVIEWUSERCONTEXT;

删除旧的oem的相关目录
$cd $ORACLE_HOME
$rm -rf szgd_szgd ({HOSTNAME}_{ORACLE_SID})

补充:

先将em  drop:
emctl stop dbconsole
emca -deconfig dbcontrol db
emca -repos drop



使用emca命令重新创建oem
$emca -config dbcontrol db -repos create

重建完成后,将自动启动oem,我们可以通过查看相关日志内容,看到命令执行的结果.

djb1008 发表于:2012.03.09 18:07 ::分类: ( Oracle ) ::阅读:(679次) :: 评论 (0)

 

你可能感兴趣的:(oracle,安装,em)