一、Profile目的:

  Oracle系统中的profile可以用来对用户所能使用的数据库资源进行限制,使用Create Profile命令创建一个Profile,用它来实现对数据库资源的限制使用,如果把该profile分配给用户,则该用户所能使用的数据库资源都在该profile的限制之内。具体管理内容有:CPU的时间、I/O的使用、IDLE TIME(空闲时间)、CONNECT TIME(连接时间)、并发会话数量、口令机制等。

 

二、条件:


  创建profile必须要有CREATE PROFILE的系统权限。为用户指定资源限制,必须:

  1.动态地使用alter system或使用初始化参数resource_limit使资源限制生效。该改变对密码资源无效,密码资源总是可用。 
    SQL> show parameter resource_limit
    SQL> alter system set resource_limit=true; 
  2.使用create profile创建一个定义对数据库资源进行限制的profile。

    例: create profile one_session limit sessions_per_user 1;(创建一个名为one_session的Profile,设置限制数量为1)
  3.使用create user 或alter user命令把profile分配给用户。
    例: alter user test profile one_session;(分配给test用户)

三、查询Profile

  可通过dba_profiles视图查看一下系统中默认都有哪些PROFILE

四、创建 profile 的语法如下:

  CREATE PROFILE profile
  LIMIT { resource_parameters 对资源的限制
    | password_parameters   对密码的限制
    }... ;

  

  < password_parameters >
  {{ FAILED_LOGIN_ATTEMPTS 被锁定前的试错次数
   | PASSWORD_LIFE_TIME   密码使用天数,默认180天
   | PASSWORD_REUSE_TIME   密码可重用的间隔时间(结合PASSWORD_REUSE_MAX)
   | PASSWORD_REUSE_MAX   密码最大改变次数(结合PASSWORD_REUSE_TIME)
   | PASSWORD_LOCK_TIME   超过试错次数后,被锁定的天数,默认1天
   | PASSWORD_GRACE_TIME   密码过期后还可使用原密码的天数
   }
   { expr | UNLIMITED | DEFAULT }
   | PASSWORD_VERIFY_FUNCTION
     { function | NULL | DEFAULT }
  }