12c 使用者密碼已經過期,不修改密碼的情況下使其永遠使用下去

dbasdk發表於2015-03-09
DBA運維資料庫時偶爾會接到這樣的電話:某某應用連線不了資料庫了,提示密碼過期。建立資料庫的時候通常會為應用程式的使用者建立一套profile,避免default profile總的各種限制。 隨著業務的增多難免出現遺漏,有個別業務使用者並沒有採用量身定做的profile。

下面來看一個案例
使用者密碼已經過期,不修改密碼的情況下使其永遠使用下去
1. 切換pdb資料庫,檢視使用者的profile檔案
[oracle@snow ~]$ sqlplus / as sysdba
SYS@cdb > show pdbs;

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO

SYS@cdb > alter session set container=pdb1;

SYS@cdb > col profile for a20
SYS@cdb > select username,profile from dba_users where username='BAYMAX';

USERNAME PROFILE
---------- --------------------
BAYMAX DEFAULT

使用者的密碼使用期限為180天

SYS@cdb > col common for a20
SYS@cdb > col limit for a20
SYS@cdb > select * from dba_profiles where profile='DEFAULT';

PROFILE RESOURCE_NAME RESOURCE LIMIT COMMON
-------------------- -------------------------------- -------- -------------------- --------------------
DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITED NO
DEFAULT SESSIONS_PER_USER KERNEL UNLIMITED NO
DEFAULT CPU_PER_SESSION KERNEL UNLIMITED NO
DEFAULT CPU_PER_CALL KERNEL UNLIMITED NO
DEFAULT LOGICAL_READS_PER_SESSION KERNEL UNLIMITED NO
DEFAULT LOGICAL_READS_PER_CALL KERNEL UNLIMITED NO
DEFAULT IDLE_TIME KERNEL UNLIMITED NO
DEFAULT CONNECT_TIME KERNEL UNLIMITED NO
DEFAULT PRIVATE_SGA KERNEL UNLIMITED NO
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10 NO
DEFAULT PASSWORD_LIFE_TIME PASSWORD 180 NO

PROFILE RESOURCE_NAME RESOURCE LIMIT COMMON
-------------------- -------------------------------- -------- -------------------- --------------------
DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED NO
DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED NO
DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL NO
DEFAULT PASSWORD_LOCK_TIME PASSWORD 1 NO
DEFAULT PASSWORD_GRACE_TIME PASSWORD 7 NO

2. 為使用者baymax建立一個臨時的profile檔案。其中password_reuse_max可以接觸重用舊密碼的限制。

SYS@cdb > create profile baymax_profile limit
password_reuse_max unlimited
password_reuse_time unlimited;

3. 將臨時profile檔案分配給baymax使用者

SYS@cdb > alter user baymax profile baymax_profile;

4. 透過user$檢視加密後的密碼,這一步可以使我不知道舊密碼也可以應用之。

SYS@cdb > select password from user$ where name='BAYMAX';

PASSWORD
------------------------------
6542473DDCA6AEBE

5. 設定baymax的密碼為之前的密碼,注意關鍵字values

SYS@cdb > alter user baymax identified by values '6542473DDCA6AEBE';

6. 還原使用者之前的profile

SYS@cdb > alter user baymax profile default;

全文完

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

相關文章