Oracle 11g提示密码即将过期,修改密码后OEM不能访问

作者: loaf 分类: 虚拟化 发布时间: 2014-02-11 16:29

打开OEM时,提示密码还有8天即将过期,并且自动导向到修改界面,因为是一个列表,我就比较随意地快速填写了一遍新密码后确定了。等我想起要记下修改了哪些用户时,OEM界面已经打不开了。

Putty到Oracle的服务器上,切换到Oracle用户
sqlplus / as  sysdba;
SQL> select username,account_status,expiry_date from dba_users;
得到
USERNAME                       ACCOUNT_STATUS                   EXPIRY_DA
—————————— ——————————– ———
MGMT_VIEW                      OPEN                             07-AUG-14
SYS                            OPEN                             07-AUG-14
SYSTEM                         OPEN                             07-AUG-14
DBSNMP                         OPEN                             07-AUG-14
SYSMAN                         OPEN                             07-AUG-14
VPXADMIN                       LOCKED(TIMED)                    07-AUG-14
OUTLN                          EXPIRED & LOCKED                 15-AUG-09
FLOWS_FILES                    EXPIRED & LOCKED                 15-AUG-09
MDSYS                          EXPIRED & LOCKED                 15-AUG-09
ORDSYS                         EXPIRED & LOCKED                 15-AUG-09
EXFSYS                         EXPIRED & LOCKED                 15-AUG-09
USERNAME                       ACCOUNT_STATUS                   EXPIRY_DA
—————————— ——————————– ———
WMSYS                          EXPIRED & LOCKED                 15-AUG-09
APPQOSSYS                      EXPIRED & LOCKED                 15-AUG-09
APEX_030200                    EXPIRED & LOCKED                 15-AUG-09
OWBSYS_AUDIT                   EXPIRED & LOCKED                 15-AUG-09
ORDDATA                        EXPIRED & LOCKED                 15-AUG-09
CTXSYS                         EXPIRED & LOCKED                 20-AUG-13
ANONYMOUS                      EXPIRED & LOCKED                 15-AUG-09
XDB                            EXPIRED & LOCKED                 15-AUG-09
ORDPLUGINS                     EXPIRED & LOCKED                 15-AUG-09
OWBSYS                         EXPIRED & LOCKED                 15-AUG-09
SI_INFORMTN_SCHEMA             EXPIRED & LOCKED                 15-AUG-09
USERNAME                       ACCOUNT_STATUS                   EXPIRY_DA
—————————— ——————————– ———
OLAPSYS                        EXPIRED & LOCKED                 15-AUG-09
SCOTT                          EXPIRED & LOCKED                 20-AUG-13
ORACLE_OCM                     EXPIRED & LOCKED                 15-AUG-09
XS$NULL                        EXPIRED & LOCKED                 15-AUG-09
MDDATA                         EXPIRED & LOCKED                 15-AUG-09
DIP                            EXPIRED & LOCKED                 15-AUG-09
APEX_PUBLIC_USER               EXPIRED & LOCKED                 15-AUG-09
SPATIAL_CSW_ADMIN_USR          EXPIRED & LOCKED                 15-AUG-09
SPATIAL_WFS_ADMIN_USR          EXPIRED & LOCKED                 15-AUG-09
31 rows selected.
因为数据库是在2013年8月份安装的,很明显,那些过期日期在09年的,都是无关的。相关的修改的应该是上面6个用户
MGMT_VIEW                      OPEN                             07-AUG-14
SYS                            OPEN                             07-AUG-14
SYSTEM                         OPEN                             07-AUG-14
DBSNMP                         OPEN                             07-AUG-14
SYSMAN                         OPEN                             07-AUG-14
VPXADMIN                       LOCKED(TIMED)                    07-AUG-14
其中VPXADMIN的状态应该是OEM不能访问的原因。
LOCKED(TIMED)应该是被动的锁定,默认情况是密码输入错误10次后被锁
我想原来在VMware vCenter Server Appliance中,数据库的设置是默认的VPXADMIN/oracle
会不会是因为现在的密码被我修改了所致,但是奇怪的是我用VC居然能正常登录。
于是花时间在网上搜索答案,却也没有什么结果,终于,我发现我的VC不能登录了。用http://myvcsa:5480登录上,发现Server停止了。
于是,先修改用户锁定状态
SQL> alter user VPXADMIN account unlock;
然后在VC的配置中修改密码,再Start服务,Server恢复了。用VMware vSphere Client又可以登录了。
但是这时OEM仍然是不能访问的。
在Oracle用户下用
netstat -tlnp
能看到1521端口,但是1158端口不存在
[oracle@vcdb ~]$ emctl status dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2009 Oracle Corporation.  All rights reserved.
https://localhost:1158/em/console/aboutApplication
Oracle Enterprise Manager 11g is not running.
——————————————————————
Logs are generated in directory /usr/local/oracle/product/11.2.0/db_1/localhost_oracle/sysman/log
很明显OEM没有启动。
[oracle@vcdb ~]$ emctl start dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2009 Oracle Corporation.  All rights reserved.
https://localhost:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 11g Database Control ………………………………………………………………………………… failed.
——————————————————————
Logs are generated in directory /usr/local/oracle/product/11.2.0/db_1/localhost_oracle/sysman/log
用emctl start dbconsole启动不成功。看日志,是连不到1158端口,看来emctl只是启动UI,而不是启动EM服务。
网上搜了一下,可能和修改了DBSNMP密码有关
关于DBSNMP用户的密码的修改,根据这篇文章所言
是不能直接修改的,如果是这样的话,为什么会出现在OEM的修改界面里呢,Oracle的管理界面实在是非人性至致。
先做快照,再根据这篇文章在OEM中同步修改后的密码
先是SYSMAN密码
[oracle@vcdb emd]$ emctl setpasswd dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2009 Oracle Corporation.  All rights reserved.
https://localhost:1158/em/console/aboutApplication
Please enter new repository password:
Repository password successfully updated.
再同步DBSNMP密码
编辑文件$ORACLE_HOME/…/sysman/emd/targets.xml,找到下面的纪录
<Property NAME=”password” VALUE=”31fb9ff0f8fbe3dd” ENCRYPTED=”TRUE”/>
将VALUE里面的值替换为跟数据库相同的密码,TRUE改为FALSE。
然后启动DBConsole
$emctl start dbconsole
仍不成功。
换一个方式,执行
$emca -config dbcontrol db
结果也不成功。
再仔细想了想,决定先重建EM库,再修改配置。
建库成功后再修改配置
配置成功后,再试试OEM,终于可以用了。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注