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)文章
Oracle刪除當前用戶下所有表的方法適用于有或沒有刪除權(quán)限
如果有plsql客戶端,則可以使用該用戶登錄,選中所有表 右鍵Drop即可,如果有或沒有刪除用戶的權(quán)限都可以使用下面的方法2014-06-06在Oracle數(shù)據(jù)庫中同時更新兩張表的簡單方法
這篇文章主要介紹了在Oracle數(shù)據(jù)庫中同時更新兩張表的簡單方法,同時介紹了一種差異性合并更新的方法,需要的朋友可以參考下2015-11-11Oracle數(shù)據(jù)庫中的游標cursor使用詳解
這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫中的游標使用的相關(guān)資料,游標提供了一種從表中檢索數(shù)據(jù)并進行操作的靈活手段,游標主要用在服務器上,處理由客戶端發(fā)送給服務器端的SQL語句,或是批處理、存儲過程、觸發(fā)器中的數(shù)據(jù)處理請求,需要的朋友可以參考下2023-10-10oracle SCN跟TIMESTAMP之間轉(zhuǎn)換
本文將詳細介紹oracle SCN跟TIMESTAMP之間轉(zhuǎn)換,需要的朋友可以參考下2012-11-11oracle中add_months()函數(shù)及用法總結(jié)
這篇文章主要介紹了oracle中add_months()函數(shù)及用法總結(jié),非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08