oracle用戶密碼密碼復雜度設置
2024-08-29 13:54:36
供稿:網友
=》Oracle更改用戶密碼過期,取消密碼驗證 在測試環境學習oracle,出現用戶密碼過期的問題,更改密碼提示驗證未通過,因為為測試環境,為方便期間,不需要經常修改密碼,在此發現PRofile的使用方法,記錄如下。 SQL> SELECT * FROM dba_profiles ; 查看用戶所屬的 profile ,一般為DEFAULT SQL>select * from dba_profiles where resource_type='PASSWord'; SQL> alter user lh identified by lh; alter user lh identified by lh ORA-28003: password verification for the specified password failed ORA-20001: Password same as or similar to user 取消密碼管理: SQL>alter profile DEFAULT limit unlimited; 如: SQL>alter profile DEFAULT limit password_reuse_time unlimited; 停止密碼檢驗函數: SQL>alter profile DEFAULT limit password_verify_function null; 創建 用戶 專用 profile: CREATE PROFILE test LIMIT sessionS_PER_USER UNLIMITED CPU_PER_SESSION UNLIMITED CPU_PER_CALL 3000 CONNECT_TIME 45 LOGICAL_READS_PER_SESSION DEFAULT LOGICAL_READS_PER_CALL 1000 PRIVATE_SGA 15K COMPOSITE_LIMIT 5000000; 如需更改: SQL>alter profile test limit PASSWORD_LIFE_TIME 60 ; 更改用戶profile SQL>alter user scott profile test; **************************************************************** Oracle數據庫用戶密碼過期處理 1、sqlplus 用戶/密碼@數據庫服務 as sysdba; 2、select username,profile from dba_users; 3、select * from dba_profiles s where s.profile='default' and resource_name='password_life_time'; 4、alter profile default limit password_life_time unlimited; 如果用戶已經被鎖定,則執行5,否則不用執行5; 5、alter user 用戶 identified by 密碼 account unlock;///////////////////////////////////////*查看用戶所屬的 profile,一般為DEFAULT*/SELECT * FROM dba_profiles;select * from dba_profiles where resource_type='PASSWORD' and profile=upper('PROFILE1');/*停止密碼檢驗函數:*/alter profile PROFILE1 limit PASSWORD_VERIFY_FUNCTION null;alter user yufeng profile DEFAULT;alter profile PROFILE1 limit PASSWORD_LIFE_TIME 60 ;alter profile PROFILE1 limit password_life_time unlimited;/*如果用戶已經被鎖定,則執行下面SQL,否則不用執行;*/alter user 用戶 identified by 密碼 account unlock;***********************************************************************************************=》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.PASSWORD_VERIFY_FUNCTION: Oracle允許將復雜的PL/SQL密碼驗證腳本做為參數傳遞給PASSWORD_VERIFY_FUNCTION。并且其自己提供了一個默認的腳本,但是用戶可以創建自己的驗證規則或使用第三方軟件驗證。 8.Password Verify Function: When you create a password verify function for verifying the user password, this function can verify the following password characteristics: 1.The minimum number of characters for the password. 2.The characters that the password must contain, such as when a password should contain a specific number of numeric, alphabetic or special characters. 3.Whether or not the password can be the same as the username.Whether or not the new password can be similar to the previous password. Oracle 11g數據庫密碼區分大小寫的設置 → SEC_CASE_SENSITIVE_LOGON = TRUE.