SQL>conn /as sysdba SQL>select password from dba_users where username='SCOTT'; password ------------------------------ E65E6AF62B2449CF SQL>alter user SCOTT identified by values 'E65E6AF62B2449CF';
SQL> select name,ASTATUS,password from user$ where name IN('SYS','SCOTT'); NAME ASTATUS PASSWORD ------------------------------ ---------- ------------------------------ SCOTT 1 E65E6AF62B2449CF SYS 0 8A8F025737A9097A SQL> select username,account_status from dba_users where username in('SYS','SCOTT'); USERNAME ACCOUNT_STATUS ------------------------------ -------------------------------- SYS OPEN SCOTT EXPIRED
SQL> UPDATE USER$ SET ASTATUS=0 WHERE NAME='SCOTT'; 1 row updated. SQL> COMMIT; Commit complete. SQL> alter system flush shared_pool; System altered.
再來觀察結果:
SQL> select name,ASTATUS,password from user$ where name IN('SYS','SCOTT'); NAME ASTATUS PASSWORD ------------------------------ ---------- ------------------------------ SCOTT 0 E65E6AF62B2449CF SYS 0 8A8F025737A9097A SQL> select username,account_status from dba_users where username in('SYS','SCOTT'); USERNAME ACCOUNT_STATUS ------------------------------ -------------------------------- SCOTT OPEN SYS OPEN
col username for a20
col account_status for a20
SQL> select username,account_status,LOCK_DATE,EXPIRY_DATE from user_users;
USERNAME ACCOUNT_STATUS LOCK_DATE EXPIRY_DATE
-------------------- -------------------- -------------- --------------
CBD EXPIRED(GRACE) 04-2月 -13
2、LOCKED和LOCKED(TIMED)表示用戶被鎖定狀態。有如下兩種情況: DBA顯式的通過SQL語句對用戶進行鎖定; 被動的鎖定,默認情況下如果密碼輸入錯誤超過10次鎖定; 該限制由PROFILE中的FAILED_LOGIN_ATTEMPTS控制,可查看視圖DBA_PROFILES。 DBA顯式鎖定用戶LOCKED alter user [username] account lock; 輸入10次錯誤密碼後被動鎖定LOCKED(TIMED) 這個限制是由PROFILE中的FAILED_LOGIN_ATTEMPTS控制的,該信息可以通過DBA_PROFILES視圖查詢
3、EXPIRED和EXPIRED(GRACE)表示用戶密碼過期狀態。 修改PROFILE中的PASSWORD_LIFE_TIME實現密碼是否過期 alter profile default limit password_life_time unlimited; 密碼過期後也可修改PROFILE中的PASSWORD_GRACE_TIME控制使用的天數: alter profile default limit password_grece_time 180; 對於密碼過期的用戶OPEN:a alter user [username] identified by account unlock;