sys系统用户长时间未登录导致密码过期

ORA-28001: the password has expired (DBD ERROR: OCISessionBegin) 

问题描述:当登陆em时使用sys帐号登陆进去后,数据库实例提示ORA-28001: the password has expired (DBD ERROR: OCISessionBegin) 

解决办法如下:

  1. SQL> select username,account_status from dba_users; 
  2.  
  3. USERNAME             ACCOUNT_STATUS 
  4. -------------------- -------------------- 
  5. MGMT_VIEW            OPEN 
  6. SYS                  OPEN 
  7. SYSTEM               OPEN 
  8. DBSNMP               EXPIRED  
  9. SYSMAN               EXPIRED  
  10. OUTLN                EXPIRED & LOCKED 
  11. FLOWS_FILES          EXPIRED & LOCKED 
  12. MDSYS                EXPIRED & LOCKED 
  13. ORDSYS               EXPIRED & LOCKED 
  14. EXFSYS               EXPIRED & LOCKED 
  15. WMSYS                EXPIRED & LOCKED 
  16. APPQOSSYS            EXPIRED & LOCKED 
  17. APEX_030200          EXPIRED & LOCKED 
  18. OWBSYS_AUDIT         EXPIRED & LOCKED 
  19. ORDDATA              EXPIRED & LOCKED 
  20. CTXSYS               EXPIRED & LOCKED 
  21. ANONYMOUS            EXPIRED & LOCKED 
  22. XDB                  EXPIRED & LOCKED 
  23. ORDPLUGINS           EXPIRED & LOCKED 
  24. OWBSYS               EXPIRED & LOCKED 
  25. SI_INFORMTN_SCHEMA   EXPIRED & LOCKED 
  26. OLAPSYS              EXPIRED & LOCKED 
  27. SCOTT                EXPIRED & LOCKED 
  28. ORACLE_OCM           EXPIRED & LOCKED 
  29. XS$NULL              EXPIRED & LOCKED 
  30. BI                   EXPIRED & LOCKED 
  31. PM                   EXPIRED & LOCKED 
  32. MDDATA               EXPIRED & LOCKED 
  33. IX                   EXPIRED & LOCKED 
  34. SH                   EXPIRED & LOCKED 
  35. DIP                  EXPIRED & LOCKED 
  36. OE                   EXPIRED & LOCKED 
  37. APEX_PUBLIC_USER     EXPIRED & LOCKED 
  38. HR                   EXPIRED & LOCKED 
  39. SPATIAL_CSW_ADMIN_US EXPIRED & LOCKED 
  40.  
  41. SPATIAL_WFS_ADMIN_US EXPIRED & LOCKED 
  42.  
  43.  
  44. 已选择36行。 

修改sysman密码

  1. alter user sysman identified by [passwd] 
  2.  
  3. alter user sysman account unlocked; 

oracle 默认的profile的password有效期是180天,之后会过期。

  1. SQL> select profile,resource_name,limit from dba_profiles where profile like 'DEFAULT'; 
  2.  
  3. PROFILE              RESOURCE_NAME                  LIMIT 
  4. -------------------- ------------------------------ -------------------- 
  5. DEFAULT              COMPOSITE_LIMIT                UNLIMITED 
  6. DEFAULT              SESSIONS_PER_USER              UNLIMITED 
  7. DEFAULT              CPU_PER_SESSION                UNLIMITED 
  8. DEFAULT              CPU_PER_CALL                   UNLIMITED 
  9. DEFAULT              LOGICAL_READS_PER_SESSION      UNLIMITED 
  10. DEFAULT              LOGICAL_READS_PER_CALL         UNLIMITED 
  11. DEFAULT              IDLE_TIME                      UNLIMITED 
  12. DEFAULT              CONNECT_TIME                   UNLIMITED 
  13. DEFAULT              PRIVATE_SGA                    UNLIMITED 
  14. DEFAULT              FAILED_LOGIN_ATTEMPTS          10 
  15. DEFAULT              PASSWORD_LIFE_TIME             180 
  16. DEFAULT              PASSWORD_REUSE_TIME            UNLIMITED 
  17. DEFAULT              PASSWORD_REUSE_MAX             UNLIMITED 
  18. DEFAULT              PASSWORD_VERIFY_FUNCTION       NULL 
  19. DEFAULT              PASSWORD_LOCK_TIME             1 
  20. DEFAULT              PASSWORD_GRACE_TIME            7 

实验环境可以改为无限制日期的。

  1. alter profile default limit password_life_time unlimited; 

本文出自 “lkl_1981” 博客,请务必保留此出处http://lkl1981.blog.51cto.com/610669/920937

原文地址:https://www.cnblogs.com/wgbs25673578/p/6651853.html