1 Profile 介绍

profile是限制数据库用户使用资源的一种手段;

profile中的资源可分为系统资源密码资源,可通过profile文件分别对用户的系统资源和密码资源做limit;

数据库中默认的profileDEFAULT,也就是说如果没有为用户指定profile,则默认用DEFAULT中的内容来

限定用户资源;

拥有create profile权限的用户可以创建Profile并做资源的Limit;

可以用过dba_profiles查看profiles的信息;

 

2 Password Limit 介绍

   先介绍profile中对密码资源的限制,如图dba_profiles中目前只有一个DEFAULT的profile,

    RESOURCE_TYPE为PASSWROD的行介绍了对密码资源的限制内容:

Oracle Profile Password Limit

    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如图所示:

Oracle Profile Password Limit

   (没有做限制的资源LIMIT的状态都为DEFAULT)

 

     对已存在的profile配置上的更改,语法:

     alter profile profile_name limit resource_name [unlimited]

     如图将失败登陆次数修改为8次,密码有效期不做限制

Oracle Profile Password Limit

 

4 Profile的删除

   语法如下,当profile被指定给某个用户时,必须加cascade选项表示删除的同时撤销对用户的限制

   drop profile profile_name [cascade]

 

   如图查看WILL用户当前的PROFILE为P_TEST:

Oracle Profile Password Limit

   不加cascade选项直接drop profile,报错提示不能不带cascade选项进行drop:

Oracle Profile Password Limit

   加cascade成功drop掉指定给WILL用户的profile后,会自动给WILL分配DEFAULT的profile:

Oracle Profile Password Limit

 

以上为个人学习总结,将持续更新

对Oracle有兴趣的朋友可以加微信qq918858589

有学习资料和工作经验可供交流,谢谢

相关文章: