oracle的用户密码限制和用户状态

(1)oracle用户的密码限制

Oracle 11g 之前默认的用户时是没有密码过期的限制的,在Oracle 11g 中默认的profile启用了密码过期时间是180天。

select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';

 

如果想设置密码不过期,可用管理员登陆,然后执行:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

其他相关参数:
select * from dba_profiles where profile='DEFAULT' and RESOURCE_NAME like 'PASSWORD%';

PASSWORD_LIFE_TIME
设定口令的有效时间(天数),一旦超过这一时间,必须重新设口令。缺省为180天(11g,10gUNLIMITED).
PASSWORD_REUSE_TIME
许多系统不许用户重新启用过去用过的口令。该资源项设定了一个失效口令要经过多少天,用户才可以重新使用该口令。缺省为UNLIMITED.
PASSWORD_REUSE_MAX
重新启用一个先前用过的口令前必须对该口令进行重新设置的次数(重复用的次数)。
PASSWORD_LOCK_TIME
设定帐户被锁定的天数(当登录失败达到FAILED_LOGIN_ATTEMPTS时)。
PASSWORD_GRACE_TIME
设定在口令失效前,给予的重新设该口令的宽限天。当口令失效之后,在登录时会出现警告信息显示该天数。如果没有在宽限天内修改口令,口令将失效。
PASSWORD_VERITY_FUNCTION
该资源项允许调用一个PL/SQL 来验证口令。Oracle公司已提供该应用的脚本,但是只要愿意的话,用户可以制定自己的验证脚本。该参数的设定就是PL/SQL函数的名称。缺省为NULL.

 

FAILED_LOGIN_ATTEMPTS :整数 设定登录到Oracle 数据库时可以失败的次数。一旦某用户尝试登录数据库的达到该值时,该用户的帐户就被锁定,只能由DBA能解锁。
select * from dba_profiles where profile='DEFAULT' and RESOURCE_NAME like 'FAILED_LOGIN_ATTEMPTS%'

 (2)oracle用户的状态 

(1)  OPEN
正常的打开状态

(2)  EXPIRED
管理员通过:
1.alter user XXX password expire;
2.用户超过了PASSWORD_LIFE_TIME设置的生存期,并且也超过PASSWORD_GRACE_TIME设置的宽限期。
解决:当用户下次登录时会提示修改密码,修改后方可登录。或者管理员通过修改用户密码也可解除过期。

(3)  EXPIRED(GRACE)
用户超过了PASSWORD_LIFE_TIME设置的生存期,但并未超过了PASSWORD_GRACE_TIME设置的宽限期。如果PASSWORD_GRACE_TIME设置为UNLIMITED,那么下次登录时不会有任何提示(等同于OPEN),如果不是UNLIMITED,那么会出现用户好久过期,提示修改密码的消息出现。

(4)  LOCKED(TIMED)
用户超过了FAILED_LOGIN_ATTEMPTS连续登录失败的次数,账户出现的锁定状态,当锁定时间超过了PASSWORD_LOCK_TIME设置的时间后,用户会自动解锁(当然在没有进行登录时状态不会发生变化,只有试图登录时状态才会发生变化)。

(5)  LOCKED
这个是管理员通过alter user xxx account lock来锁定用户,PASSWORD_LOCK_TIME对此种情况无效,此种情况只有管理员通过alter user account unlock来解锁。

如果oracle的用户PASSWORD_LIFE_TIME是默认的180天,到了时间限制,用户就会被锁住,解锁的方式如下:

查看用户密码的有效期设置
SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

将密码有效期由默认的180天修改成“无限制”,修改之后不需要重启动数据库,会立即生效
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ;

帐户再改一次密码
alter user 用户名 identified by 原密码;

使用修改后的用户登录,如果报“ORA-28000:用户已被锁”,解锁
alter user db_user account unlock;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

#慧#

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值