Oracle設置密碼永不過期的方法
Oracle 設置密碼永不過期
OSB中AdminServer啟動報錯:
WARNING: Can not connect DB with URL jdbc:oracle:thin:@//xxxx:1521/xx
java.sql.SQLException: ORA-28001: the password has expired
oracle.security.jps.JpsException: JPS-01055: Could not create credential store instance. Reason oracle.security.jps.service.policystore.PolicyStoreException: Can not connect DB with URL [jdbc:oracle:thin:@//xxxxxxxx:1521/xx
1、查看用戶的proifle是那個,一般是default:
sql>SELECT username,PROFILE FROM dba_users;
2、查看指定概要文件(如default)的密碼有效期設置:
sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
3、將密碼有效期由默認的180天修改成“無限制”:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
plsql中操作:

password expire:用來設置用戶口令過期,失效,強制用戶登錄數(shù)據(jù)庫時候必須修改口令
去掉勾選項:

參考資料:
執(zhí)行默認數(shù)據(jù)庫安裝,即所有密碼將在180天后過期。不知道的會導致應用程序出現(xiàn)問題,因為在這段時間后無法連接到數(shù)據(jù)庫。特別是在測試或開發(fā)環(huán)境中工作,將不關(guān)心安全問題,這意味著密碼不應該自動到期。這篇文章的目的是展示如何更改行為以及即使過期帳戶過期也可以重置過期帳戶。
1.調(diào)整密碼到期策略
首先,我們必須驗證數(shù)據(jù)庫中的密碼過期策略。最好的方法是對DBA_PROFILES運行查詢:
select * from dba_profiles where resource_name = 'PASSWORD_LIFE_TIME';
這確認密碼到期策略設置為默認值180天。您可以通過以下方式將此值更改為無限制:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
如果您使用不同的配置文件名稱作為“DEFAULT”或多個配置文件,請記住調(diào)整語句。使用與以前相同的查詢完成此更改的驗證:
select * from dba_profiles where resource_name = 'PASSWORD_LIFE_TIME';
2.檢查有問題的帳戶
概述數(shù)據(jù)庫中是否顯示任何已過期或已鎖定的帳戶:
select username,account_status from dba_users where account_status like '%EXPIRED%' or account_status like '%LOCKED%';
接下來將顯示如何使用腳本重新打開受影響的帳戶的兩個不同選項。兩個版本都將重新打開帳戶,以便可以再次使用它們。兩個選項之間的主要區(qū)別在于選項1會將所有過期的帳戶設置為腳本中給出的新密碼。選項2將執(zhí)行相同操作,但將帳戶密碼重置為舊密碼,而不是設置新密碼。
A.給所有用戶重新設置密碼,創(chuàng)建一個名為:userpwn.sql的sql命令文件.
spool on; set echo off; set heading off; set feedback off; SET SERVEROUTPUT OFF; spool unlock.sql; select 'ALTER USER '|| USERNAME || ' account unlock;' from dba_users where ACCOUNT_STATUS like '%LOCKED%'; spool off; @unlock.sql; spool on; set echo off; set heading off; set feedback off; SET SERVEROUTPUT OFF; spool pwchangen.sql; select 'ALTER USER '|| USERNAME || ' identified by ‘需要修改的密碼';' from dba_users where ACCOUNT_STATUS like '%EXPIRED%' or ACCOUNT_STATUS like '%LOCKED%'; spool off; @pwchangen.sql;
B.恢復以前的密碼,創(chuàng)建一個名為:userpwn.sql的sql命令文件
spool on; set echo off; set heading off; set feedback off; SET SERVEROUTPUT OFF; spool unlock.sql; select 'ALTER USER '|| USERNAME || ' account unlock;' from dba_users where ACCOUNT_STATUS like '%LOCKED%'; spool off; @unlock.sql; spool on; set lines 300; set echo off; set heading off; set feedback off; SET SERVEROUTPUT OFF; spool pwchangeo.sql; select 'ALTER USER '|| USERNAME || ' identified by values ''' || spare4 || ''';' from dba_users,user$ where ACCOUNT_STATUS like '%EXPIRED%' and USERNAME=NAME; spool off; @pwchangeo.sql;
3.使用的腳本示例
給用戶解鎖:
ALTER USER OHS account unlock;
修改用戶密碼:
ALTER USER OHS identified by welcome1;
修改之后不需要重啟動數(shù)據(jù)庫,會立即生效。
到此這篇關(guān)于Oracle設置密碼永不過期的方法的文章就介紹到這了,更多相關(guān)Oracle密碼永不過期內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于OGG實現(xiàn)Oracle實時同步MySQL的全過程
這篇文章詳細闡述了基于OGG實現(xiàn)Oracle實時同步MySQL全過程,文中通過圖文結(jié)合和代碼示例給大家講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2023-11-11
使用sqlplus連接Oracle數(shù)據(jù)庫問題
這篇文章主要介紹了使用sqlplus連接Oracle數(shù)據(jù)庫問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
Oracle使用range分區(qū)并根據(jù)時間列自動創(chuàng)建分區(qū)
這篇文章主要介紹了Oracle使用range分區(qū)并根據(jù)時間列自動創(chuàng)建分區(qū),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04
oracle 取某個時間段的數(shù)據(jù)(每周幾的上午幾點到幾點)
這篇文章主要介紹了oracle 取某個時間的數(shù)據(jù)(每周幾的上午幾點到幾點),本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01
Oracle Translate 統(tǒng)計字符出現(xiàn)的次數(shù)示例代碼
這篇文章主要介紹了Oracle Translate 統(tǒng)計字符出現(xiàn)的次數(shù)示例代碼,非常不錯具有參考借鑒價值,需要的朋友可以參考下2017-03-03

