oracle11g 设置密码永不过期
在oracle database 11g中,默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致。密码过期后,业务进程连接数据库异常,影响业务使用。数据库密码过期后,业务进程一旦重启会提示连接失败。注:Oracle 11g启动参数resource_limit无论设置为false还是true,密码有效期都是生效的,所以必须通过以下方式进行修改:
1.查看用户的proifle是哪个(一般是default):
1 | SQL> select username,profile from dba_users where username= 'user_name' ; |
2.查看概要文件密码有效期设置:
1 |
|
3.如果密码有效期被设置为180天,那么将需要进行如下修改:
1 | SQL> alter profile default limit password_life_time unlimited; |
修改后不需要重启数据库,修改将立即生效。
注意:修改后,还没有被提示ORA-28002警告的账户不会再碰到同样的问题,已经被提示的用户仍需要再修改一次密码,方法如下:
1 | SQL> alter user user_name identified by password ; --这里的password使用原来的密码即可 |
对于有些用户修改密码后提示密码复杂度不够的可以重置为null
取消Oracle密码复杂度检查:
SQL> alter profile default limit password_verify_function null;
一个特殊的ora-28002错误:
注意到SQL语句中包含dblink(红框部分),故将dblink所属的用户的密码重置即可。
1 2 | SQL> alter profile default limit password_life_time unlimited; SQL> alter user dblinkusr identified by efutureone; |