Oracle數(shù)據(jù)庫用戶密碼過期的解決方法
問題現(xiàn)象:
今天在更改數(shù)據(jù)庫數(shù)據(jù)的時(shí)候,程序報(bào)錯(cuò)了,如下:
ORA-28001:the password has expired

問題分析:
很顯然,報(bào)錯(cuò)原因就是:
密碼已過期!
所以現(xiàn)在需要做的事情只有兩件:
1.修改密碼的過期時(shí)間
2.修改/重置密碼
這里分析一下為什么要這樣做:
1.修改密碼的過期時(shí)間:這是因?yàn)?strong>Oracle Database 11g 版本的Oracle數(shù)據(jù)庫有一項(xiàng)默認(rèn)配置,就是密碼過期時(shí)間默認(rèn)為180天(6個(gè)月左右);
通過sysdba身份可以登錄Oracle數(shù)據(jù)庫,可以查看自己的Oracle數(shù)據(jù)庫版本和數(shù)據(jù)庫默認(rèn)密碼保質(zhì)期的配置:

LIMIT(180):保存時(shí)長為180天

修改為不限期:UNLIMITED,這樣以后就不會(huì)再出現(xiàn)這個(gè)密碼過期的問題了,此處需結(jié)合項(xiàng)目需求,有些公司是建議定期更換密碼的,因此不會(huì)設(shè)置為UNLIMITED;

2.修改密碼:再密碼過期后,原密碼就失效了,因此需要重新修改密碼/重置密碼。
解決方法:
1.查詢默認(rèn)的密碼保存時(shí)間
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

2.修改為不限期,若有定期更換密碼的需求,則可以設(shè)置為每個(gè)密碼更換周期所需的天數(shù)(如:30:,表示每過30天就需要重置一次密碼)
不限期:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
30天的密碼有效期:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 30;

3.確定密碼過期的用戶,如果不確定,可以通過查詢所有用戶,并結(jié)合用戶的創(chuàng)建時(shí)間和當(dāng)前時(shí)間的時(shí)間差,推測出密碼過期的用戶:
select * from all_users;?

4.重置密碼:
alter user 密碼已過期的USERNAME identified by 密碼;
重置完即可正常訪問數(shù)據(jù)庫,不需要重啟數(shù)據(jù)庫!
總結(jié)
到此這篇關(guān)于Oracle數(shù)據(jù)庫用戶密碼過期解決的文章就介紹到這了,更多相關(guān)Oracle用戶密碼過期內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Oracle試用到期如何刪除注冊(cè)表繼續(xù)試用30天
這篇文章主要介紹了Oracle試用到期如何刪除注冊(cè)表繼續(xù)試用30天,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04
Oracle 11g 新特性 Flashback Data Archive 使用實(shí)例
這篇文章主要介紹了Oracle 11g 新特性 Flashback Data Archive 使用實(shí)例,Flashback Data Archive 的主要作用是在它的有效期內(nèi)將保存事務(wù)改變的信息,需要的朋友可以參考下2014-07-07
解決ORA-01747:user.table.column,table.column或列說明無效
這篇文章主要介紹了解決ORA-01747:user.table.column,table.column或列說明無效的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07

