首页 > 数据库开发 > 怎样解决“ORA-28001: the password has expired”

怎样解决“ORA-28001: the password has expired”

问题描述

Oracle 数据库用户密码长时间没有修改过期,导致Oracle驱动抛出如下错误:

  1. Caused by: java.sql.SQLException: ORA-28001: the password has expired  
  2.   
  3.     at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439)  
  4.     at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:388)  
  5.     at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:381)  
  6.     at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:564)  
  7.     at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:431)  

 

问题解决

解决此问题的方法有很多种,我列出一种,共两个步骤。

1. 以管理员用户登录,解锁相应的用户

  1. sqlplus / as sysdba  
  2. alter user demo_user account unlock;  
  3. exit  


2. 以已解锁锁的用户登录,重置密码

  1. ~]$ sqlplus  
  2.   
  3. SQL*Plus: Release 11.2.0.1.0 Production on Mon Jan 13 15:06:09 2014  
  4.   
  5. Copyright (c) 19822009, Oracle.  All rights reserved.  
  6.   
  7. Enter user-name: demo_user  
  8. Enter password:   
  9. ERROR:  
  10. ORA-28001: the password has expired  
  11.   
  12.   
  13. Changing password for demo_user  
  14. New password:   
  15. Retype new password:   
  16. Password changed  
  17.   
  18. Connected to:  
  19. Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production  
  20. With the Partitioning, OLAP, Data Mining and Real Application Testing options  

本文固定链接: http://www.devba.com/index.php/archives/4327.html | 开发吧

报歉!评论已关闭.