欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Oracle修改用户Profile SESSIONS_PER_USER 限制

程序员文章站 2022-03-26 23:13:15
一、Profile目的: Oracle系统中的profile可以用来对用户所能使用的数据库资源进行限制,使用Create Profile命令创建一个Profile,用它来实现对数据库资源的限制使用,如果把该profile分配给用户,则该用户所能使用的数据库资源都在该profile的限制之内。具体管理 ......

一、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   对密码的限制
    }... ;

  <resource_parameters> 
  {{ sessions_per_user   每个用户名并行会话数
   | cpu_per_session    每会话可用的cpu时间,单位0.01秒
   | cpu_per_call     一次sql调用(解析、执行和获取)允许的cpu时间
   | connect_time     会话连接时间(分钟)
   | idle_time       会话空闲时间(分钟),超出将断开
   | logical_reads_per_session
   | logical_reads_per_call
   | composite_limit   “组合打法”
   }
   { integer | unlimited | default }
   | private_sga
   { integer [ k | m ] | unlimited | default }
  }

  < 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 }
  }