ORACLE錯誤:ORA-28001: the password has expired解決方案

來源:互聯網
上載者:User

標籤:expired   參考   運行   exception   profile   預設   com   到期   from   

Oracle提示錯誤訊息ORA-28001: the password has expired,是由於Oracle11G的新特性所致, Oracle11G建立使用者時預設密碼到期限制是180天(即6個月), 如果超過180天使用者密碼未做修改則該使用者無法登入。 Oracle公司是為了資料庫的安全性預設在11G中引入了這個預設功能,但是這個預設的功能很容易被DBA或者是開發人員給疏忽,
一旦密碼180天未修改過,就會出現這樣的問題。
解決方案有兩種:
解決方案可通過如下SQL語句
注: 首先需要使用dba登入.
運行SQLPlus命令列工具, 輸入:
connect as sysdba;
輸入dba的使用者名稱和密碼後進行.
SELECT * FROM dba_profiles WHERE profile=‘DEFAULT‘ AND resource_name=‘PASSWORD_LIFE_TIME‘
查詢密碼的有效期間設定,LIMIT欄位是密碼有效天數。
方法一:
在密碼將要到期或已經到期時可通過如下語句進行修改密碼,密碼修改後該使用者可正常串連資料庫。
ALTER USER 使用者名稱 IDENTIFIED BY 密碼 ;

方法二:
如果想去除180天的密碼生存周期的限制可通過如下SQL語句將其關閉
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED
如上SQL語句將口令有效期間預設值180天修改成了“無限制”。但是出於資料庫安全性考慮,
不建議將PASSWORD_LIFE_TIME值設定成UNLIMITED,建議大家定期修改資料庫使用者口令。

oracle密碼到期the password has expired解決辦法  
oracle 出現the password has expired這個問題,今天突然發現項目訪問不了,一查發現用不了,也登不進去,
這個問題由是Oracle11g密碼到期的原因導致的
調試Web項目的時候出現異常:
[java] view plaincopyprint?
java.sql.SQLException: ORA-28001: the password has expired  
網上查了一下,串連Oracle,以Oracle使用者登陸,輸入以下命令
[sql] view plaincopyprint?


select * from dba_profiles where profile=‘DEFAULT‘ and resource_name=‘PASSWORD_LIFE_TIME‘;  
結果顯示:
PROFILE  
 ------------------------------------------------------------  
    RESOURCE_NAME  
------------------------------------------------------------  
    RESOURCE_TYPE  
----------------  
    LIMIT  
 ------------------------------------------------------------  
        
DEFAULT  
    PASSWORD_LIFE_TIME  
    PASSWORD  
    180  
        

結果顯示密碼有效期間是180天
輸入命令:
alter profile default  limit password_life_time unlimited;  
commit;  

再次執行:
select * from dba_profiles where profile=‘DEFAULT‘ and resource_name=‘PASSWORD_LIFE_TIME‘;  
結果顯示為:

[sql] view plaincopyprint?

    PROFILE  
    ------------------------------------------------------------  
    RESOURCE_NAME  
    ------------------------------------------------------------  
    RESOURCE_TYPE  
    ----------------  
    LIMIT  
    ------------------------------------------------------------  
        
    DEFAULT  
    PASSWORD_LIFE_TIME  
    PASSWORD  
    UNLIMITED  

進行以上步驟之後需要改變密碼,否則還會出現password has expired異常     ???

改變密碼的命令
alter user XXXUSER identified by Welcome1;  
如果帳號被鎖住,則需要解鎖命令
alter user XXXUSER identified by oracle account unlock;  
問題解決

備忘:隨筆中內容來源於網上資料整理,僅供參考。

ORACLE錯誤:ORA-28001: the password has expired解決方案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.