修改oracle密码有效期限制

racle11g,静默安装后用户的密码有效期默认设置为180天,180天后密码将失效,oracle会提示要修改密码。
 
咱们项目用的是jdbc链接oracle 数据库,无法自动处理oracle的这种密码错误提示,直接就链接oracle失败。
 
解决思路一:
按期修改数据库用户密码。
 
解决思路二:
将数据库密码设置为永久有效。
 
思路一具备必定的安全保护做用,但因为业务不支持修改业务部件中的数据库密码配置(部件较多,修改过于麻烦,因此干脆要求不能修改,想一想有点矬),因而决定采用思路二。
 
具体设置命令以下:
假定咱们所使用的数据库用户为test,密码为test123456
步骤一:登录oracle所在的linux服务器(咱们的oracle假设在linux服务器上),注意要用dba用户。
 
步骤二:执行'sqlplus / as sysdba'
步骤三:输入'alter profile default limit password_life_time unlimited;'并回车
步骤四:输入'alter user test identified by test123456;'
步骤五:输入'quit;'退出sqlplus。
步骤六:重启各个业务部件,一切OK。
 
须要注意的是,对于第四步,可能会失败,由于oracle有可能设置了修改密码时不能与历史密码重复的限制,咱们能够先执行如下命令去掉限制,而后再执行第四步。虽然对于第四步而言设置先后密码没有改变,但倒是必要的吗,实际测试中发现即便作了第三步处理,若是不执行第四步,jdbc链接数据时依然会链接失败。
 
'alter profile default limit password_reuse_max unlimited;'
'alter profile default limit password_reuse_time unlimited;'
 
 在使用profile并想重复利用密码的时,须要知足以下条件
1)password_reuse_time和password_reuse_max都为unlimted的时候
能够随便重置
2)当指定password_reuse_time和password_reuse_max其中一个,另一个unlimted的时候
密码永远没法重置
 
3)当同时指定password_reuse_time和password_reuse_max的时候
在知足password_reuse_max的时候,能够重置密码
在同时知足password_reuse_time和password_reuse_max的时候,能够重置密码
在知足password_reuse_time但从为更换过密码的时候,也就是password_reuse_max一次也没用的时候密码没法重置. 
 
上面这种处理方案是修复现网问题的弥补性措施,根本的要在oralce安装的时候就去掉密码有效期的限制。
相关文章
相关标签/搜索