首先登陆上plsql,或者sqlplus之类执行sql语句
使用有DBA权限的用户登录,比如system用户
1.执行
select username,account_status,expiry_date,profile from dba_users;
找到需要设置密码过期策略的用户对应的 PROFILE ,默认为DEFAULT( PROIILE可以理解为该用户角色的资源配置文件,对 用户所能使用的数据库资源进行限制)
2.执行
select * from dba_profiles s where s.profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
说明DEFAULT默认的密码过期时间是180天 ,需要修改为无期限,或者维护人员记得定期修改密码,否则180没修改密码,导致密码过期,应用系统访问不到数据库直接宕机
3.修改方法 执行
alter profile default limit password_life_time unlimited;
修改完毕再次执行查询密码过期策略的sql
select * from dba_profiles s where s.profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
如果显示LIMIT为UNLIMITED说明修改成功
4.如果已经过期的密码
执行修改密码语句,直接修改密码为原密码即可,这样不用修改程序数据库配置
alter user TESTUSER identified by oldpassword
修改都是立即生效 ,不用重启数据库