1、进入sqlplus
sqlplus / as sysdba;
2、查看目前密码有效期
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
PROFILE RESOURCE_NAME RESOURCE
------------------------------ -------------------------------- --------
LIMIT
----------------------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD
180
3、修改有效期,由默认的180天修改成“无限制”,修改之后不需要重启动数据库,会立即生效
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 360 ;
4、修改完成后,再次查看有效期;
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
PROFILE RESOURCE_NAME RESOURCE
------------------------------ -------------------------------- --------
LIMIT
----------------------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD
UNLIMITED
5、修改成功后对于已经提示过“ORA-28001: the password has expired”的用户,需要重新修改一次密码,之前没有提示过的用户不用修改。
alter user 用户名 identified by 原密码;
6、修改后再次登录,如果提示“ORA-28000:用户已被锁”,需要解锁用户:
SQL > alter user db_user account unlock;
SQL > commit;