1 Profile 介绍
profile是限制数据库用户使用资源的一种手段;
profile中的资源可分为系统资源和密码资源,可通过profile文件分别对用户的系统资源和密码资源做limit;
数据库中默认的profile为DEFAULT,也就是说如果没有为用户指定profile,则默认用DEFAULT中的内容来
限定用户资源;
拥有create profile权限的用户可以创建Profile并做资源的Limit;
可以用过dba_profiles查看profiles的信息;
2 Password Limit 介绍
先介绍profile中对密码资源的限制,如图dba_profiles中目前只有一个DEFAULT的profile,
RESOURCE_TYPE为PASSWROD的行介绍了对密码资源的限制内容:
RESOURCE_NAME代表的密码资源参数含义如下:
FAILED_LOGIN_ATTEMPTS 帐户被锁定之前可以错误尝试的次数
PASSWORD_LIFE_TIME 密码可以被使用的天数,单位是天,默认值180天
PASSWORD_REUSE_TIME 同一个密码可重用的间隔时间(结合PASSWORD_REUSE_MAX)
PASSWORD_REUSE_MAX 同一个密码的最大改变次数(结合PASSWORD_REUSE_TIME)
PASSWORD_VERIFY_FUNCTION 通过function来设置密码的复杂程度
PASSWORD_LOCK_TIME 超过错误尝试次数后,用户被锁定的天数,默认1天
PASSWORD_GRACE_TIME 当密码过期之后还有多少天可以使用原密码
( 结合参数的含义和图中DEFAULT的Limit,可以知道使用DEFAULT作密码资源限制的用户:
LIMIT=10,连接数据库用户密码错误10次则用户会被锁;
LIMIT=180,用户启用一个密码最多可以使用180天,时间一到就过期;
LIMIT=UNLIMITED,相同的用户密码可以使用的次数不做限制;
LIMIT=UNLIMITED,相同的用户密码需要隔多少天才能再启用不做限制;
LIMIT=1,当密码尝试超过次数,用户会被锁1天;
LIMIT=,当密码过期后,有7天的宽限期;)
3 Profile 的创建和配置
创建profile的用户必须要有create profile的权限,将create profile授予用户:
grant create profile to user_name;
创建profile语法如下,如果最后带unlimited,表示对资源不做限制,即DEFAULT
create profile profile_name limit resource_name [unlimited];
将profile指定给用户,即用户需要受到该profile的资源限制:
alter user user_name profile profile_name;
创建一个名为P_TEST的profile,限定失败登陆次数为9次,密码有效期为160天,
创建完成后查看dba_profiles如图所示:
(没有做限制的资源LIMIT的状态都为DEFAULT)
对已存在的profile做配置上的更改,语法:
alter profile profile_name limit resource_name [unlimited]
如图将失败登陆次数修改为8次,密码有效期不做限制:
4 Profile的删除
语法如下,当profile被指定给某个用户时,必须加cascade选项表示删除的同时撤销对用户的限制
drop profile profile_name [cascade]
如图查看WILL用户当前的PROFILE为P_TEST:
不加cascade选项直接drop profile,报错提示不能不带cascade选项进行drop:
加cascade成功drop掉指定给WILL用户的profile后,会自动给WILL分配DEFAULT的profile:
以上为个人学习总结,将持续更新
对Oracle有兴趣的朋友可以加微信或qq:918858589
有学习资料和工作经验可供交流,谢谢