Oracle 11g 密碼過期被鎖報 ORA-28000 the account is locked

wuweilong發表於2014-09-10

一、觸發這個錯誤的原因及相關因素

   是由於oracle11g中預設在default概要檔案中設定了“PASSWORD_LIFE_TIME=180天”所導致,在Oracle 11g中是
存在密碼過期問題的。

二、錯誤現象:

  1. 使用者被鎖定之後會報ORA-28000的錯誤,並提示無法登入到資料庫
  2. SQL> conn system/oracle
  3. ERROR:
  4. ORA-28000: the account is locked

  1. Warning: You are no longer connected to ORACLE.
  2. SQL>

 三、解決方法:
  1. 按照如下步驟進行操作:

    1、檢視使用者的proifle是哪個,一般是default:

    SQL> select username,profile from dba_users where username='SYSTEM';

    USERNAME                       PROFILE
    ------------------------------ ------------------------------
    SYSTEM                         DEFAULT

    SQL>


    2、檢視指定概要檔案(如default)的密碼有效期設定:

    SQL> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

    PROFILE                        RESOURCE_NAME                    RESOURCE LIMIT
    ------------------------------ -------------------------------- -------- ----------------------------------------
    DEFAULT                        PASSWORD_LIFE_TIME               PASSWORD 180DAY


    3、將密碼有效期由預設的180天修改成“無限制”:

    sql>ALTER PROFILE DEFAULT LIMITPASSWORD_LIFE_TIMEUNLIMITED;

    修改之後不需要重啟動資料庫,會立即生效。


    4、修改後,還沒有被提示ORA-28002警告的帳戶不會再碰到同樣的提示;

    已經被提示的帳戶只需解鎖即可。

    $sqlplus / as sysdba

    SQL> alter user system account unlock;

    User altered.

    5、如果還無法登入,執行再配置一次密碼就OK了。(跟原密碼一樣就好)

    SQL> alter user system identified by oracle;

    User altered.


 oracle11g啟動引數resource_limit無論設定為false還是true,密碼有效期都是生效的,所以必須透過以上方式進行修改。以上的帳戶名請根據實際使用的帳戶名更改。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20674423/viewspace-1266760/,如需轉載,請註明出處,否則將追究法律責任。

相關文章