由于项目的一个bug,导致好几个现网项目都出现了异常。
bug说明:
oracle11g,静默安装后用户的密码有效期默认设置为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一次也没用的时候密码无法重置.
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密码有效期限制的方法。 **方法一:定期修改数据库用户密码** 这种方法虽然能保持一定的安全水平,但在业务不允许频繁修改部件中数据库密码配置的情况下,可能并不适用...
这个默认功能使得用户密码在创建时默认设置了有效期限制,即 180 天。如果用户未在 180 天内修改密码,则该用户无法登录数据库。 解决方法 解决这个问题的方法有两个:修改密码和取消密码生存周期的限制。 修改...
在IT领域,数据库的...以上是对“oracle密码过期修改方法”的详细介绍,包括了密码过期的原理、修改密码的方法以及通过SQL命令调整密码有效期的具体步骤,希望对正在处理Oracle数据库密码管理的IT专业人士有所帮助。
然而,在某些特定情况下,比如测试环境、开发环境或是对于某些特定的系统账户,可能需要将密码有效期设置为无限,即密码无时间限制。这可以避免频繁的密码更改带来的不便,特别是在不需要考虑密码过期所带来的安全...
Oracle 密码过期问题的...Oracle 数据库密码过期问题可以通过查看用户 Profile、修改密码有效期和解决密码过期问题来解决。同时,我们也需要注意 Oracle 11g 启动参数 resource_limit 的设置,以确保数据库的安全性。
为了使用户密码永不过期,我们需要更改默认配置文件中的密码有效期设置。执行以下SQL命令: ```sql ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; ``` 这条命令将默认配置文件中的`PASSWORD_LIFE_...
### Oracle帐号密码有效期修改知识点详解 #### 一、Oracle密码策略概述 在Oracle数据库中,为了确保系统的安全性与稳定性,通常会为用户设置密码的有效期限(即密码过期时间)。这意味着用户必须在指定的时间段内...
- **密码过期**:为了让用户定期更改密码,可以设置密码有效期。使用`ALTER USER <username> PASSWORD EXPIRE`命令可以使密码立即过期,或者使用`ALTER USER <username> PASSWORD EXPIRE IN <number> MONTH`来设置...
这条语句将默认配置文件中的`PASSWORD_LIFE_TIME`限制设置为`UNLIMITED`,意味着用户密码将不再有有效期限制,可以一直使用直到被手动更改。 除了上述操作,Oracle还提供了其他与密码相关的设置,例如: 1. **...
默认情况下,Oracle设置了一个密码有效期,例如180天,超过这个期限,用户必须更改密码才能继续使用。本文将详细介绍如何取消Oracle的密码180天限制以及如何处理因密码过期而被锁住的账号。 1. 进入SQL*Plus模式: ...
综上所述,在Oracle数据库中处理密码过期问题主要包括以下几个方面:检查用户所使用的Profile、查看密码有效期设置、修改Profile中的密码有效期以及解决密码过期后的登录问题。通过对这些步骤的理解和实践,可以有效...
若发现密码有效期设置过短,或者希望取消密码过期限制,可以使用以下命令修改配置文件中的密码生命周期: `alter profile DEFAULT limit PASSWORD_LIFE_TIME unlimited;` 此命令将DEFAULT配置文件中的密码生命周期...
本文将详细解释如何修改Oracle数据库的密码有效期,以避免因密码过期而引发的问题。 首先,我们需要确定用户的profile。在Oracle中,profile是一种资源限制的集合,包括密码策略、系统资源限制等。可以使用以下SQL...
##### 步骤三:修改密码有效期设置 1. **执行修改命令**:在SQL*Plus提示符下输入以下命令,以将密码的有效期设置为“无限制”: ```sql ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; ``` 其中`...
7. 修改Oracle密码有效期限制的两种思路详解 8. Oracle密码过期如何取消密码180天限制 9. 密码180天过期,账号锁住的问题 这些文章提供了更详细的步骤和背景信息,有助于深入理解Oracle密码策略和管理。
- **修改密码策略**:通过SQL命令`ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED`可以取消密码有效期限制。 - **密码重置**:在命令行或企业管理器中,可以执行`ALTER USER username IDENTIFIED BY ...
然而,在使用过程中,用户可能会遇到密码过期的问题,这主要是由于Oracle 11g 默认设置中的密码有效期(`PASSWORD_LIFE_TIME`)限制所致。该限制通常被设置为180天,即大约6个月后,用户的密码将自动过期,用户必须...
这条SQL语句用于修改名为“DEFAULT”的配置文件中的密码有效期为无限期。执行该命令后,配置文件中的密码有效期将不再受到时间限制。 #### 四、验证修改结果 为了确认更改是否成功,可以通过再次执行查询命令来检查...