1. 程式人生 > >Oracle資料庫提示密碼過期,更改密碼永不過期的一種方法。

Oracle資料庫提示密碼過期,更改密碼永不過期的一種方法。

1、檢視當前所有使用者
select username,account_status,expiry_date,profile from dba_users;

 

2、檢視當前使用的賬戶資料儲存(預設只有一個)
SELECT * FROM dba_profiles;

 

3、檢視和密碼相關的設定(複雜度,過期時間)
select * from dba_profiles where resource_type='PASSWORD';

 

4、檢視和密碼過期設定相關的設定
select * from dba_profiles s where s.profile='default' and resource_name='password_life_time';

 

5、設定使用者永不過期,影響的是所有使用者,修改之後不需要重啟動資料庫,會立即生效。
alter profile default limit password_life_time unlimited;

 

6、注意:

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

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

語法格式:


alter user 使用者 identified by 密碼 account unlock;

 

 

 7、要為某個使用者設定密碼永不過期,還可以這樣來做:

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

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

3. 將'admini'使用者適用新的profile "test"

 CREATE PROFILE test 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;

   4、 修改新建的profile,密碼過期為不過期
    ALTER profile VPXADMIN_UNLIMIT limit PASSWORD_LIFE_TIME UNLIMITED; 

  5、如需更改新建的profile,密碼過期的時間:
 alter profile test limit PASSWORD_LIFE_TIME 60 ;
  6、更改admini使用者的 profile設定為test
 alter user admini profile test;

 

 

Oracle密碼複雜度設定(Oracle_Password_Complexity) 


一、Oracle_Password_Complexity: 


    SQL> alter system set resource_limit = true; 
    SQL> @ $ORACLE_HOME/RDBMS/ADMIN/utlpwdmg.sql → [verify_function|verify_function_11G] 
    SQL> alter profile default limit password_verify_function verify_function;
 
    # 取消Oracle密碼複雜度檢查:
    SQL> alter profile default limit password_verify_function null; 
    SQL> SELECT profile,resource_type,resource_name,limit FROM dba_profiles WHERE resource_type='PASSWORD' AND profile='DEFAULT';
 
   1.FAILED_LOGIN_ATTEMPTS: 使用者在登入嘗試失敗n次後被鎖定。 
   2.PASSWORD_LOCK_TIME: 登入嘗試失敗達到指定次數,使用者鎖定時長,以“Day”為單位。 
   3.PASSWORD_LIFE_TIME: 使用者口令的生命週期。 
   4.PASSWORD_GRACE_TIME: 表示使用者口令使用時間超過其生命週期後,可以延續使用的天數,並且可延續時間內登入會有相應口令即將過期的提示。 
   5.PASSWORD_REUSE_TIME: 指定了口令不能重用前的天數。 
   6.PASSWORD_REUSE_MAX: 在達到PASSWORD_REUSE_TIME指定時間後,要再次使用同一口令前必須改變的次數。 
   如:PASSWORD_REUSE_TIME=30,PASSWORD_REUSE_MAX=10,使用者可以在30天以後重用該口令,要求口令必須被改變超過10次。 
   7.Oracle 11g資料庫密碼區分大小寫的設定 → SEC_CASE_SENSITIVE_LOGON = TRUE.