Navicat连接Oracle数据库失败,password Expired.Please enter a new password.

Navicat是一款非常好用的数据库管理工具,可是一段时间没有使用,突然发现之前建立的Oracle连接无法打开,提示要输入旧密码和新密码以及确认新密码。正确输入旧密码并输入新密码后,会报password Expired.Please enter a new password.

排查问题: 经查询,Oracle数据库默认密码有效期为180天,Oracle数据库密码过期后,会导致连接报错。

解决思路: 修改Oracle数据库密码有效期为永久。

具体方案:

  1. 运行sqlplus(在开始菜单找到Oracle Database 11g Express Edition文件夹下运行SQL命令行)
  2. 输入connect连接,然后输入用户名和密码(默认用户名system,密码123456)Navicat连接Oracle数据库失败,password Expired.Please enter a new password.
  3. 输入SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'查询对应文件的密码有效期设置(默认为180天)
  4. 输入ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED将有效期设置为无限制。Navicat连接Oracle数据库失败,password Expired.Please enter a new password.
  5. 输入alter user 用户名 identified by <原来的密码> account unlock;解锁原密码。
  6. 打开navicat数据库连接Oracle,显示可以正常连接。
    Navicat连接Oracle数据库失败,password Expired.Please enter a new password.