您的位置:首页 > 数据库 > Oracle

Oracle 11g 密码过期问题 (password has expired)

2013-05-20 12:07 549 查看
早上刚进办公室,同事找我说HR的Oracle中间库密码过期登陆不上了,想着Sql Server有个密码策略,如果使用密码策略的话就需要定期修改密码,想来Oracle也应该是这个原因吧,可是怎么改呢?于是从网上找了好多方法处理好了,现备忘在这里。

1、由于是已经提示密码过期而登陆不上了,所以需要先用系统用户登陆:

开始-->运行-->cmd-->sqlplus / as sysdba

2、查看账号状态,看账号状态是不是expired(如果是locked则需要先解锁)

SQL>select username,account_status from dba_users;

3、查看用户的proifle是哪个,一般是default:

SQL>SELECT username,PROFILE FROM dba_users;

4、查看指定概要文件(如default)的密码有效期设置:

SQL>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

5、将密码有效期由默认的180天修改成“无限制”,修改之后不需要重启动数据库,会立即生效。

SQL>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

6、修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示,已经被提示的帐户必须再改一次密码,举例如下:

$sqlplus / as sysdba

SQL> alter user system identified by <原来的密码> ----不用换新密码

7、查看账号状态变为open了

SQL>select username,account_status from dba_users;

做完以上步骤之后,让同事登陆一下数据库,可以了,OK,大功告成:)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: