【翻譯自mos文章】執行utlpwdmg.sql之后報ORA-28003, ORA-20001, ORA-20002, ORA-20003, ORA-20004 錯誤


執行utlpwdmg.sql之后報ORA-28003, ORA-20001, ORA-20002, ORA-20003, ORA-20004 錯誤。

適用於:
Oracle Server - Enterprise Edition - Version 8.1.7.0 and later
Information in this document applies to any platform.
Checked for relevance on 15-Sep-2012

原因:
執行 utlpwdmg.sql 腳本能夠對用戶的password進行安全限制。

新password強制施行例如以下的規則:
1.包括一個字符,一個數字。一個標點符號
2.不同於username
3.不同於password驗證函數中列示出來的words(單詞)
4.跟老password相比。至少有3個字符不同。

以上規則在新版的db 軟件中有所變化,因此,推薦你查看你的db版本號中的該腳本。以確認有哪些具體的規則。

解決方式:
不是全部的客戶都須要或者希望這個安全級別。

能夠用例如以下的方法來remove掉該功能。

1. Connect internal to the database.
2. drop function verify_function;
3. ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION null;


此時。在沒有不論什么錯誤的情況下。使用with the 'alter user xyz identified by xyz' 命令,password能夠被改動

utlpwdmg.sql腳本也會改動default profile.
The default profile settings 是在數據庫被創建的時候,the DEFAULT profile 的資源參數值( resource parameters )。
在執行腳本之前。假設你改動了這些資源參數而且在使用其它的參數。你應該restore(還原)這些值。


If you modified those resource parameters and you were using other parameter values before running the script, you should restore those values.


Before running the script
-------------------------
SQL> SELECT * FROM dba_profiles
2 WHERE profile = 'DEFAULT'
3 AND resource_type = 'PASSWORD';

PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------- -------------------------------- -------- ------------
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED
DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED
DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED
DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED
DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD UNLIMITED
DEFAULT PASSWORD_LOCK_TIME PASSWORD UNLIMITED
DEFAULT PASSWORD_GRACE_TIME PASSWORD UNLIMITED

After running the script:
------------------------
SQL> SELECT * FROM dba_profiles
2 WHERE profile = 'DEFAULT'
3 AND resource_type = 'PASSWORD';

PROFILE RESOURCE_NAME RESOURCE LIMIT
-------------------- -------------------------------- -------- ----------------
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 3
DEFAULT PASSWORD_LIFE_TIME PASSWORD 60
DEFAULT PASSWORD_REUSE_TIME PASSWORD 1800
DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED
DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD VERIFY_FUNCTION
DEFAULT PASSWORD_LOCK_TIME PASSWORD .0006
DEFAULT PASSWORD_GRACE_TIME PASSWORD 10
7 rows selected.

You can restore the default setting by running this script as internal or as sysdba.

SQL> ALTER PROFILE DEFAULT LIMIT
2 PASSWORD_LIFE_TIME UNLIMITED
3 PASSWORD_GRACE_TIME UNLIMITED
4 PASSWORD_REUSE_TIME UNLIMITED
5 PASSWORD_REUSE_MAX UNLIMITED
6 FAILED_LOGIN_ATTEMPTS UNLIMITED
7 PASSWORD_LOCK_TIME UNLIMITED;


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM