oracle如何修改單個使用者密碼永不過期

m53469發表於2021-09-09

    

      Oracle的密碼過期規則是用Profile來管理的,系統預設只有一個Profile(DEFAULT),該profile的密碼過期規則為180天;而所有的使用者都使用該DEFAULT的profile,所以如果修改DEFAULT的過期規則會影響所有的使用者。如果你想修改某個使用者的密碼讓其永不過期,則需要新建一個profile,修改該profile的過期規則為無限期,這樣該使用者的過期規則會改變,並且不會影響到其他使用者。

 首先檢視使用者的proifle是哪個,一般是default:

sql>SELECT username,PROFILE FROM dba_users;

USERNAME                       PROFILE

------------------------------ ------------------------------

SCOTT                          DEFAULT

EXFSYS                         DEFAULT

ORDSYS                         DEFAULT

MDSYS                          DEFAULT

FLOWS_FILES                      DEFAULT

OMUADM                         DEFAULT

SYSTEM                         DEFAULT

SYS                            DEFAULT

VPXADMIN                       DEFAULT

    2、檢視指定概要檔案(如default)的密碼有效期設定:

    sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

PROFILE                        RESOURCE_NAME                    RESOURCE

------------------------------ -------------------------------- --------

LIMIT

----------------------------------------

DEFAULT                        PASSWORD_LIFE_TIME               PASSWORD

180

    3、如果在這裡將密碼有效期由預設的180天修改成“無限制”,則影響的是所有使用者:

    sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

    修改之後不需要重啟動資料庫,會立即生效。

  注意:修改後,還沒有被提示ORA-28002警告的帳戶不會再碰到同樣的提示;

    已經被提示的帳戶必須再改一次密碼,例如

    $sqlplus / as sysdba

    sql> alter user vpxadmin  identified by <原來的密碼> ----不用換新密碼

那麼如果你要為某個使用者設定密碼永不過期,可以這樣來做。比如修改vpxadmin使用者的密碼過期規則為無限期UNLIMITED,只需要三個步驟:

1. 新建profile "VPXADMIN_UNLIMIT",規則與DEFAULT一致(因為一個profile中包含很多的專案,我們此時只想修改過期規則,其他的不變)

2. 修改profile "VPXADMIN_UNLIMIT",修改過期規則為UNLIMITED

3. 將'VPXADMIN'使用者適用新的profile "PASSWD_UNLIMIT"

1. 建立新的profile(VPXADMIN_UNLIMIT)複製DEFAULT的Script

CREATE PROFILE "VPXADMIN_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  profile FROM dba_profiles;PROFILE

------------------------------

DEFAULT

VPXADMIN_UNLIMIT

已建立成功。

--2. 修改新建的profile(VPXADMIN_UNLIMIT),密碼過期為不過期

ALTER profile VPXADMIN_UNLIMIT limit PASSWORD_LIFE_TIME UNLIMITED;

--3. 修改使用者的Profile為新的profile

alter user VPXADMIN  profile VPXADMIN_UNLIMIT;

再驗證一下,果然就可以了!

©著作權歸作者所有:來自51CTO部落格作者xjsunjie的原創作品,如需轉載,請註明出處,否則將追究法律責任

oracle使用者密碼資料庫與大資料


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2819/viewspace-2820945/,如需轉載,請註明出處,否則將追究法律責任。

相關文章