执行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掉该功能。

Connect internal to the database.
drop function verify_function;
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;
©版权声明:
作者:xiaofu
文章标题:执行utlpwdmg.sql之后报ORA-28003, ORA-20001, ORA-20002, ORA-20003, ORA-20004 错误
文章地址:https://blog.xf0.cc/39.html
作者地址:https://blog.xf0.cc/author/xiaofu
来源:Fu Zai's Notes
文章版权归作者所有,未经允许请勿转载。
THE END
分享
二维码
海报
执行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 a……
文章目录
关闭
目 录