ORA-28001: the password has expired解決辦法

 Oracle提示錯誤消息 ORA-28001: the password has expired,是因爲Oracle11G的新特性所致,Oracle11G建立用戶時缺省密碼過時限制是180天(即6個月),若是超過180天用戶密碼未作修改則該用戶沒法登陸。數據庫

       Oracle公司是爲了數據庫的安全性默認在11G中引入了這個默認功能,可是這個默認的功能很容易被DBA或者是開發人員給疏忽,一旦密碼180天未修改過,就會出現這樣的問題。安全

        解決方法可經過以下SQL語句:blog

       SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';開發

        查詢密碼的有效期設置,LIMIT字段是密碼有效天數。在密碼將要過時或已通過期時可經過以下語句進行修改密碼,密碼修改後該用戶可正常鏈接數據庫。
        ALTER USER 用戶名 IDENTIFIED BY 密碼; 登錄

        修改密碼後,會發現該帳戶會被鎖定,這時須要經過以下SQL語句進行解鎖:file

        alter user 用戶名 account unlock;密碼

        若是想去除180天的密碼生存週期的限制可經過以下SQL語句將其關閉方法

        ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;im

        如上SQL語句將口令有效期默認值180天修改爲了「無限制」。可是出於數據庫安全性考慮,不建議將PASSWORD_LIFE_TIME值設置成UNLIMITED,建議你們按期修改數據庫用戶口令。數據

相關文章
相關標籤/搜索