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

早上刚进办公室,同事找我说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,大功告成:)


你可能感兴趣的:(Oracle)