[Oracle Troubleshooting]EM Cannot Connect to Database Instance and ORA28001

启动EM database constrol 

> SET ORACLE_SID=orcl

> emctl start dbconsole

 打开浏览器 -- https://localhost:1158/em/

 但是却发现如下问题,

 

 刚开始以为是instance没有起来,但是执行如下SQL语句,发现数据库已经Open了,


sys
@ORCL> select open_mode from v$database;

OPEN_MODE
----------
READ WRITE

 那么是啥问题呢??? 注意到上图中有个ORA-28001错误,提示password过期了!!那么是那个user的密码过期了呢,很容易想到是SYSMAN。

那么查下SYSMAN的状态,


sys
@ORCL> select username, account_status, lock_date, expiry_date from dba_users
  
2  where username = 'SYSMAN';

USERNAME                       ACCOUNT_STATUS                   LOCK_DATE EXPIRY_DA
------------------------------ -------------------------------- --------- ---------
SYSMAN                         EXPIRED                                    22-APR-10

sys
@ORCL>

可以看到SYSMAN的密码早就过期了!!

找到问题所在,接下来就进行解决吧,先改动SYSMAN的密码试下看看,


sys
@ORCL> alter user SYSMAN identified by sysman;

User altered.

sys
@ORCL> select username, account_status, lock_date, expiry_date from dba_users
  
2  where username = 'SYSMAN';

USERNAME                       ACCOUNT_STATUS                   LOCK_DATE EXPIRY_DA
------------------------------ -------------------------------- --------- ---------
SYSMAN                         OPEN                                       02-DEC-10

sys
@ORCL>

 现在看到SYSMAN的状态是OPEN了,那么再刷新下EM的页面试试,但是很不幸,问题没有解决 :(

也许应该重启下em database console......

>emctl stop dbconsole

>emctl start dbconsole

 但是很不幸,还是不行.....................................................................

 而且,这个时候查看SYSMAN的状态,会发现,居然被锁住了!!



sys
@ORCL> select username, account_status, lock_date, expiry_date from dba_users
  
2  where username = 'SYSMAN';

USERNAME                       ACCOUNT_STATUS                   LOCK_DATE EXPIRY_DA
------------------------------ -------------------------------- --------- ---------
SYSMAN                         LOCKED(TIMED)                    05-JUN-10 02-DEC-10

重新解锁这个账户

SQL > alter user sysman account unlock; 

 修改以下文件中的内容,

(1)$ORACLE_HOME\hostname.domain_sid\sysman\emd\targets.xml

 对于我的数据库来说,就是

E:\app\fangyu\product\11.1.0\db_1\SZ1-DEV-LXP-151.kmv.com_orcl\sysman\emd\targets.xml

    将以下内容

    <Property NAME="UserName" VALUE="817e3703d765c058" ENCRYPTED="TRUE"/>

    <Property NAME="password" VALUE="171476fcf64ec982" ENCRYPTED="TRUE"/> 

  改成 ===》

 <Property NAME="UserName" VALUE="SYSMAN" ENCRYPTED="FALSE"/>

 <Property NAME="password" VALUE="SYSMAN" ENCRYPTED="FALSE"/> 

(2) $ORACLE_HOME\sysman\config\emoms.properties

同样,对于我的数据库来说就是 E:\app\fangyu\product\11.1.0\db_1\sysman\config\emoms.properties

将以下内容

oracle.sysman.eml.mntr.emdRepPwd=%EM_REPOS_PWD%

改成

oracle.sysman.eml.mntr.emdRepPwd=sysman

在重新刷新EM页面,

 




--------------------------------------
Regards,
FangwenYu
原文地址:https://www.cnblogs.com/fangwenyu/p/1752179.html