首页 > 代码库 > 【翻译自mos文章】执行utlpwdmg.sql之后报ORA-28003, ORA-20001, ORA-20002, ORA-20003, ORA-20004 错误
【翻译自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;
【翻译自mos文章】执行utlpwdmg.sql之后报ORA-28003, ORA-20001, ORA-20002, ORA-20003, ORA-20004 错误