数据库密码有效期参数

Oracle数据库密码有效期参数
1. 查看数据库用户对应的概要文件。
SQL>select username,profile from dba_users;
检查显示信息中历史库用户sersv对应的profile。一般都为DEFAULT,如下所示。
USERNAME PROFILE
------------------------------ ------------------------------
SYSTEM DEFAULT
SYS DEFAULT
……
sersrv DEFAULT
2. 检查概要文件(默认为default)的密码有效期设置。
sql> select * from dba_profiles s where s.profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
− 如果显示如下信息,则表明密码有效期设置了无限制。
PROFILE RESOURCE_NAME RESOURCE LIMIT ------------------------------ -------------------------------- -------- DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED
− 如果显示如下信息,则表明密码设置了有效期。
PROFILE RESOURCE_NAME RESOURCE LIMIT ------------------------------ -------------------------------- -------- DEFAULT PASSWORD_LIFE_TIME PASSWORD 180
请执行如下命令,将密码有效期修改成无限制。
SQL>alter profile default limit password_life_time unlimited;
− 如果显示Profile altered.,则表明密码有效期已经修改。
执行以下语句,确认密码有效期已经设置了无限制。
sql>select * from dba_profiles s where s.profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
3. 检查“RESOURCE_LIMIT”是否配置为“FLASE”。
SQL> show parameter resource_limit
− 如果显示结果如下所示,则表明已经设置为了FALSE。
NAME TYPE VALUE ---------------------------------------------------------------- resource_limit boolean FALSE
− 如果不是,请执行如下命令,修改该参数。
SQL> alter system set resource_limit=false scope=both;
4. 对于已经提示密码即将过期的用户,必须重新修改密码。
下面以修改sersrv用户的密码为例。
oracle@msgbox101:~> sqlplus "/as sysdba"
sql> alter user msgbox identified by msgbox;
### 数据库密码有效期显示为 2 的原因及解决方法 数据库密码有效期显示为 2,通常意味着该用户的密码策略被设置为一个特定的值(例如:2 天)。这可能是由于数据库配置文件中的 `PASSWORD_LIFE_TIME` 参数被明确设置为 2,或者用户被分配了一个自定义的配置文件[^2]。在 Oracle 数据库中,`PASSWORD_LIFE_TIME` 参数用于定义密码有效期(以天为单位),默认值为 180 天。如果显示为 2,则可能是因为管理员修改了此参数。 #### 查询密码有效期 要查询当前数据库中用户的密码有效期,可以执行以下 SQL 命令: ```sql SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'; ``` 上述命令将返回与默认配置文件相关的密码有效期信息。如果显示为 2,则表示密码必须每 2 天更改一次[^2]。 #### 修改密码有效期 如果需要调整密码有效期,可以通过以下步骤实现: 1. **修改默认配置文件的密码有效期** 使用以下命令将密码有效期更改为无限制(UNLIMITED)或设置为其他值: ```sql ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; ``` 如果需要设置为其他天数(如 365 天),可以使用以下命令: ```sql ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 365; ``` 2. **创建或修改自定义配置文件** 如果某些用户需要不同的密码策略,可以为其创建一个新的配置文件并应用: ```sql -- 创建新的配置文件 CREATE PROFILE custom_profile LIMIT PASSWORD_LIFE_TIME 90; -- 将用户分配到新配置文件 ALTER USER 用户名 PROFILE custom_profile; ``` #### 解决密码过期问题 当密码过期时,用户可能会收到提示信息,要求输入新密码。可以通过以下方式解决: 1. **修改用户密码** 使用以下命令为用户重置密码: ```sql ALTER USER 用户名 IDENTIFIED BY 新密码; ``` 2. **解锁用户账户** 如果用户因密码过期而被锁定,可以使用以下命令解锁: ```sql ALTER USER 用户名 ACCOUNT UNLOCK; ``` 3. **临时绕过密码过期提示** 在登录时直接修改密码,避免因密码过期而导致无法登录: ```sql CONN 用户名/旧密码 AS SYSDBA ALTER USER 用户名 IDENTIFIED BY 新密码 REPLACE 旧密码; ``` 通过以上方法,可以有效解决密码有效期显示为 2 的问题,并根据需求调整密码策略[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值