关于RepositoryPatchUpgrade失败

Posted on May 13, 2010

在打Patch的过程中,最不痛快的就是在过程中出现一些莫名其妙的错误了。今天将OMS版本从10.2.0.2.1升级到10.2.0.5,在进行到Repository Upgrade一步时报错了。

按提示检查cfgtoollogs/configToolFailedCommands文件,有以下内容:

rem 版权所有 (c) 1999, 2009, Oracle。保留所有权利。
oracle.sysman.emcp.oms.RepositoryPatchUpgrade -verbose
oracle.sysman.emcp.oms.OmsPatchUpgrade -configureOms
oracle.sysman.emcp.aggregates.ConfigPlugIn
oracle.sysman.emcp.oms.StartOMS -configureOms
oracle.sysman.emcp.oms.EMCLISetup
oracle.sysman.ccr.configCCR.ConfigCCRPlugIn
oracle.sysman.ccr.configCCR.ConfigRepeaterPlugIn

这部分更新应当是执行一系列SQL出现异常。检查sysman/log目录下的emrepmgr.log.10.2.0.5.0日志,里面最后部分内容是:

SQL> 从 Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开
[13-05-2010 08:50:23] Checking repository version..
[13-05-2010 08:50:23] Running setSchemaStatus: BEGIN EMD_MAINTENANCE.SET_VERSION('_UPGRADE_','0','0','SYSTEM',EMD_MAINTENANCE.G_STATUS_UPGRADING);END;

[13-05-2010 08:50:23] Could not connect to SYSMAN/(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SID=WEB2))): ORA-01017: invalid username/password; logon denied (DBD ERROR: OCISessionBegin)

这里有个有趣的现象。翻看该日志前面的记录,很多语句都正常执行,并且同样是用SYSMAN用户执行的,但是最后一段出现密码错误的提示显然是该脚本本身输入的密码不正确。

在之前的经验中,确实遭遇到很多关于密码的问题,尤其是大小写不一致的问题。比如有的程序会将密码自动改为小写而导致错误,于是我就习惯将密码控制在小写。而现在,显然遭遇到了相反的情形。

检查参数确定是区分大小写:

SQL> SHOW PARAMETER SEC_CASE_SENSITIVE_LOGON

NAME                                 TYPE                   VALUE
------------------------------------ ---------------------- ------
sec_case_sensitive_logon             boolean                TRUE

这里,SYSMAN的密码是小写的aa,用SYSDBA进入数据库修改SYSMAN密码:

alter user sysman identified by AA;

将密码从原先的小写修改为大写,再retry,顺利通过了。

另外一种办法就是取消大小写敏感的控制,不过,有时候没必要为了一两个特殊应用而修改数据库安全策略。

Related Posts

  1. 关于10.2.0.5 agent无法连接9i (9.2.0.6)的问题

» Filed Under Enterprise Management Print This Post Print This Post

Comments

Leave a Reply