ORACLE EXPIRED(GRACE)
查询用户状态
col username for a20
col account_status for a20
select username,account_status,lock_date,expiry_date from user_users;
profile resource_name resource_type limit
-------------------- ------------------------------ ------------------------------ ------------------------------
default password_life_time password 180
default password_reuse_time password unlimited
default password_reuse_max password unlimited
default password_verify_function password null
default password_lock_time password 1
default password_grace_time password 7
6 rows selected.
failed_login_attempts 整数设定登录到oracle 数据库时可以失败的次数。一旦某用户尝试登录数据库的达到该值时,该用户的帐户就被锁定,只能由dba能解锁。
password_life_time设定口令的有效时间(天数),一旦超过这一时间,必须重新设口令。缺省为unlimited.
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.
默认有效期为180天
修改默认有效期天数为无限
alter profile default limit password_life_time unlimited;
修改默认宽限期限
alter profile default limit password_grace_time unlimited;
账号有多少中状态?
sql> select * from user_astatus_map;
status# status
---------- ------------------------------------------------------------------------------------------------
0 open
1 expired
2 expired(grace)
4 locked(timed)
8 locked
5 expired & locked(timed)
6 expired(grace) & locked(timed)
9 expired & locked
10 expired(grace) & locked
9 rows selected.
10类状态说明:
五种基本状态可分为三类:
正常状态;
锁定状态;
密码过期状态。
1、open状态表示用户处于正常状态。
2、locked和locked(timed)表示用户被锁定状态。有如下两种情况:
dba显式的通过sql语句对用户进行锁定;
被动的锁定,默认情况下如果密码输入错误超过10次锁定;
该限制由profile中的failed_login_attempts控制,可查看视图dba_profiles。
dba显式锁定用户locked
alter user [username] account lock;
输入10次错误密码后被动锁定locked(timed)
这个限制是由profile中的failed_login_attempts控制的,该信息可以通过dba_profiles视图查询
3、expired和expired(grace)表示用户密码过期状态。
修改profile中的password_life_time实现密码是否过期
alter profile default limit password_life_time unlimited;
密码过期后也可修改profile中的password_grace_time控制使用的天数:
alter profile default limit password_grece_time 180;
对于密码过期的用户open:a
alter user [username] identified by <password> account unlock;