首页 » 挨踢业 » 正文

oracle的用户密码失效后的处理

em控制器登录上了,页面提示到实例的代理连接失败

现象为:

(1)数据库实例,是红色向下的箭头

(2)到数据库的实例链接,是红色向下的箭头,并有错误提示:

状态  失败
详细资料  ORA-28001: the password has expired (DBD ERROR: OCISessionBegin) 
 (3)监听,绿色向上的箭头

如果点启动的话,输入主机密码、sys密码,可以起停数据库。
且应用、sqlplus都能连上……

不过用net服务的测试连接的话,自己设置的用户名可以连上,但是system连不上。

 

很迷惑。

于是搜索了很多。和实例链接失败的很多,但是提示密码失效的并不多。

解决办法如下:

1、通过SQLPLUS连接数据库

#sqlplus sys/oracle as sysdba

#SQL>select username,account_status from dba_users;

你可以看到如下结果:sysman过期,注意下面的红色部分

USERNAME                       ACCOUNT_STATUS
—————————— ——————————–
MGMT_VIEW                      OPEN
SYS                            OPEN
DBSNMP                         EXPIRED
SYSMAN                         EXPIRED
SYSTEM                         EXPIRED(GRACE)
OUTLN                          EXPIRED & LOCKED
FLOWS_FILES                    EXPIRED & LOCKED
MDSYS                          EXPIRED & LOCKED
ORDSYS                         EXPIRED & LOCKED
EXFSYS                         EXPIRED & LOCKED

USERNAME                       ACCOUNT_STATUS

2、更改SYSMAN的密码

#>alter user sysman identified by [new password];

#>alter user sysman account unlock;

3、访问控制台。正常:)

控制台终于出现了登录页面。

登录后提示修改DBSNMP密码,提示说否则监听将不可用。

且数据库实例、实例链接都变成了绿色的向上箭头。