修改oracle密码有效期限制的两种思路详解
由于项⽬的⼀个bug,导致好⼏个现⽹项⽬都出现了异常。
bug说明:
oracle11g,静默安装后⽤户的密码有效期默认设置为180天,180天后密码将失效,oracle会提⽰要修改密码。
我们项⽬⽤的是jdbc连接oracle数据库,没法⾃动处理oracle的这种密码错误提⽰,直接就连接oracle失败。
解决思路⼀:
定期修改数据库⽤户密码。
解决思路⼆:
将数据库密码设置为永久有效。
思路⼀具有⼀定的安全保护作⽤,但由于业务不⽀持修改业务部件中的数据库密码配置(部件较多,修改
过于⿇烦,所以⼲脆要求不能修改,想想有点矬),于是决定采⽤思路⼆。
具体设置命令如下:
假定我们所使⽤的数据库⽤户为test,密码为test123456
步骤⼀:登陆oracle所在的linux服务器(我们的oracle假设在linux服务器上),注意要⽤dba⽤户。
linux系统安装oracle11g步骤⼆:执⾏'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安装的时候就去掉密码有效期的限制。
总结
以上所述是⼩编给⼤家介绍的修改oracle密码有效期限制的操作⽅法,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对⽹站的⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。