`
qpzmal
  • 浏览: 20094 次
社区版块
存档分类
最新评论

解决"ORA-28001: the password has expired”

 
阅读更多
http://hi.baidu.com/wtx521/blog/item/725ed2af279546104a36d625.html

Oracle 10g 以上密码失效问题
oracle em无法登录,我自己遇到的问题总结如下:

其中有两个用户可能密码失效
1、 sysman
2、 dbsnmp

首先,以SYS DBA身份进入sqlpuls
打开sqlpuls

SQL->请输入用户名:sys as sysdba
SQL->密码:
登录成功以后查询DBA用户状态
SQL->select username,account_status from dba_users;
查看其中常用的用户状态是否是EXPIRED 还是LOCKED
有的是LOCKED<TIME>
如果sysman状态是过期,修改密码方法:

1、执行emctl stop dbconsole
  执行完成后再停止agent:emctl stop agent
  使用下面的命令来检查是否缺失停止了:
   emctl status dbconsole
   emctl status agent
  确认停止以后就可以在sqlpuls里改密码了
2、执行下面的命令修改sysman密码:
   SQL->alter user sysman identified by <你要改的密码>;
   不过首先你得确认一下sysman是否被锁定,就是执行
   SQL->select username,account_status from dba_users;
   看sysman的状态,如果是LOCKED,那么你先得解锁:
   SQL->alter user sysman account unlock;
   解锁完成后再修改密码,或者修改后再解锁都行,步骤可以颠倒,但是绝对不能少。
   修改完成后
   SQL->connect sysman/密码
   如果连接成功就可以进行下一步了。

3、修改emoms.properties
在路径  ORACLE_HOME\[HOST]_[SID]\sysman\config下
找到文件后编辑以下两句:

oracle.sysman.eml.mntr.emdRepPwd= [Your encrypted password]
oracle.sysman.eml.mntr.emdRepPwdEncrypted=True

找到后把[Your encrypted password]改成你这个用户要改的密码(明文),然后把下面的True改成False.
4、重新启动dbConsole
  emctl start dbconsole
  emctl start agent
  两个都启动了以后你再到emoms.properties里看,是不是密码给你加密了,而且emdRepPwdEncrypted变成了True!

如果用户dbsnmp也失效的话,同样的办法,先停止dbconsole和agent然后在sqlplus里确保他的状态是open,修改密码,然后再去文件中改,不过这次文件不一样,变成了targets.xml  ,它的路径在
ORACLE_HOME\[HOST]_[SID]\sysman\emd
修改以下行:
<Property NAME="password" VALUE="<[Your encrypted password]>" ENCRYPTED="TRUE"/>
同样把<[Your encrypted password]>改成你要改的密码,把后面的TRUE改成FALSE,保存。重新启动dbconsole和agent.
分享到:
评论

相关推荐

    ORA-28001 the password has expired密码过期.docx

    在Oracle数据库管理中,"ORA-28001 the password has expired" 是一个常见的错误,它表明数据库用户的密码已经超过了预设的有效期限,导致用户无法正常登录。这个错误主要出现在Oracle 11G及更高版本中,因为这些...

    Oracle the account is locked解决办法

    ORA-28001: the password has expired ``` 遇到此错误时,可以使用以下命令更改密码: ```sql CHANGE PASSWORD FOR scott NEW PASSWORD: [new_password] RETYPE NEW PASSWORD: [new_password] ``` 4. **...

    guokai1229#gk-knowledge#数据库密码过期处理1

    数据库密码过期处理在一段时间以后,oracle用户登陆会提示密码不可用ORA-28001: the password has expired密码无效oracle

    oracle密码过期解决方法

    ORA-28001: the password has expired ORA-28001 是 Oracle 错误消息,表示密码已经过期。这个错误发生的原因是 Oracle 11G 的默认功能,旨在提高数据库的安全性。这个默认功能使得用户密码在创建时默认设置了有效...

    Oracle 11G密码180天过期后的修改方法

    这表示如果一个用户的密码在创建后180天内没有更改,系统将自动阻止该用户登录,出现“ORA-28001: the password has expired”的错误。这种情况下,业务流程可能因无法正常连接数据库而受到影响,导致服务中断。 要...

    oracle数据库密码过期处理方法.docx

    此时,用户在尝试登录时会收到“ORA-28000: the account is locked”或“ORA-28001: the password has expired”的错误信息,无法进行任何操作。 二、处理密码过期的方法 1. **紧急模式登录(SQL*Plus as SYSDBA)*...

    Oracle学习笔记

    - **密码过期**:如果出现 “the password has expired” 的提示,则需要更改密码。可以通过以下步骤完成: - 仍然需要以DBA权限登录数据库。 - 执行 `ALTER USER scott IDENTIFIED BY new_password` 来更新密码。...

    oracle密码到期解决方案

    在使用Tecnomatix软件时,可能会遇到提示ORA-28001: the password has expired的错误,导致无法正常打开软件。这一问题通常源于Oracle数据库对于用户密码的有效期管理机制。在Oracle 11g版本中,默认情况下,系统在...

    oracle密码过期的处理

    一旦密码过期,用户尝试登录时会收到错误提示,例如`ORA-28002: the password will expire within 7 days`或`ORA-28003: the password has expired`等。 **解决方法**: 1. **临时登录**:使用具有SYSDBA权限的...

Global site tag (gtag.js) - Google Analytics