在oracle数据库中,如果设置了密码的有效期,则会出现密码临期提醒的问题,默认的密码有效期是180天,默认的密码提醒时间是15天(此处缺乏官方文档支撑),在密码临近过期时,如果登录 Oracle数据库,则在登录接口(OCILogon或者OCILogon2或者OCISessionBegin,具体取决于当前采用的登录方式),返回一个状态:OCI_SUCCESS_WITH_SUCCESS(对应到oracle数据库为1),当前的返回状态应该按照正常处理,所以在登录接口判断oracle返回的状态时,需要将此状态放行,不予以进行错误处理。
设置Oracle密码有效期:
alter profile default limit PASSWORD_LIFE_TIME 6; //将密码设置有效期为6天
查看密码有效期的策略
select profile, limit from dba_profiles where resouce_name = 'PASSWORD_LIFE_TIME';
查看所有用户密码有效期到期时间
select username, account_status, expirt_date from dba_users;//其中expirt_date为用户密码过期时间
修改用户密码
alter user systest identified by pass123; //将systest用户的密码设置为pass123
用户处于lock状态的解锁;
alter user system account unlock;
设置用户密码永不过期:
alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;