Oracle的密碼過期規則是用Profile來管理的,系統默認只有一個Profile(DEFAULT),該profile的密碼過期規則為180天;
而所有的用戶都使用該DEFAULT的profile,所以如果修改DEFAULT的過期規則會影響所有的用戶;
所以我們新建一個profile,修改該profile的過期規則為無限期,在讓某個用戶適用於該profile,則該用戶的過期規則會變更。
以下舉例:修改MESSERIES用戶的密碼過期規則為UNLIMITED
1. 新建profile "PASSWD_UNLIMIT",規則與DEFAULT一致(因為一個profile中包含很多的項目,我們此時只想修改過期規則,其他的不變)
2. 修改profile "PASSWD_UNLIMIT",修改過期規則為UNLIMITED
3. 將'MESSERIES'用戶適用新的profile "PASSWD_UNLIMIT"
SQL如下:
SELECT * FROMdba_profiles s WHERE s.profile='DEFAULT' ANDresource_name='PASSWORD_LIFE_TIME'; SELECT * FROMdba_profiles s ; --查看用戶profile select username, user_id, account_status,expiry_date, profile from dba_users where username = 'MESSERIES'; --1. 創建新的profile(PASSWD_UNLIMIT)復制DEFAULT的script CREATE PROFILE "PASSWD_UNLIMIT" LIMIT SESSIONS_PER_USER UNLIMITED CPU_PER_SESSION UNLIMITED CPU_PER_CALL UNLIMITED CONNECT_TIME UNLIMITED IDLE_TIME UNLIMITED LOGICAL_READS_PER_SESSION UNLIMITED LOGICAL_READS_PER_CALL UNLIMITED COMPOSITE_LIMIT UNLIMITED PRIVATE_SGA UNLIMITED FAILED_LOGIN_ATTEMPTS 10 PASSWORD_LIFE_TIME 180 PASSWORD_REUSE_TIME UNLIMITED PASSWORD_REUSE_MAX UNLIMITED PASSWORD_LOCK_TIME 1 PASSWORD_GRACE_TIME 7 PASSWORD_VERIFY_FUNCTION NULL; SELECT * FROMdba_profiles; --2. 修改新建的profile(PASSWD_UNLIMIT),密碼過期為不過期 ALTER profilePASSWD_UNLIMIT limit PASSWORD_LIFE_TIME UNLIMITED; --3. 修改用戶的Profile為新的profile alter user MESSERIES profile PASSWD_UNLIMIT;
以上所述是小編給大家介紹的Oracle數據庫用戶的密碼過期時間如何修改為永不過期,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!