用户管理之profile

导语:
profiles文件是口令和资源限制的配置集合,包括CPU的时间、I/O的使用、空闲时间、连接时间、并发会话数量、密码策略等对于资源的使用profile可以做到控制会话级别或语句调用级别。oracle自带的默认(default文件)好多是不限制的,用户创建时都会被指定这个PROFILE。

基本

  1. PROFILE的管理内容:
    - CPU的时间
    - I/O的使用
    - IDLE TIME(空闲时间)
    - CONNECT TIME(连接时间)
    - 并发会话数量
    - 口令机制:

  2. DEFAULT PROFILE:
    - 所有的用户创建时都会被指定这个PROFILE
    - DEFAULT PROFILE的内容为空,无限制

profile参数

profile 可以看成是一种对象,一种策略,一种配置。
Oracle用表格 的方式管理profile中的内容。该试图(表)为dba_profiles 可以直接通过该视图查询profile的内容。
比如,你想查看有几个profile,可以这样查看:select profile from dba_profiles group by profile;

一个profile的配置在视图中有多个行,分别表示不同的参数。这些参数大致分为两类:

  1. 参数:Resource_parameter(RESOURCE=KERNEL)部分:
    Composite_limit:指定一个会话的总的资源消耗,以service units单位表示。Oracle数据库以有利的方式计算
    Connect_time:指定会话的总的连接时间,以分钟为单位。
    Cpu_per_call:指定一次调用(解析、执行和提取)的CPU时间限制,单位为百分之一秒。
    Cpu_per_session:指定会话的CPU时间限制,单位为百分之一秒。
    Idle_time:指定会话允许连续不活动的总的时间,以分钟为单位,超过该时间,会话将断开。
    Logical_read_per_call:指定一次执行SQL(解析、执行和提取)调用所允许读的数据块的最大数目。
    Logical_reads_per_session:指定一个会话允许读的数据块的数目,包括从内存和磁盘读的所有数据块。
    Private_sga:指定一个会话可以在共享池(SGA)中所允许分配的最大空间,以字节为单位。
    Session_per_user:指定限制用户的并发会话的数目。

tips:在用户的层面对系统资源的分配。

  1. 参数:PASSWORD_PARAMETER(RESOURCE=PASSWORD)部分:
    FAILED_LOGIN_ATTEMPTS :当连续登陆失败次数达到该参数指定值时,用户被加锁;经过DBA解锁(或PASSWORD_LOCK_TIME天)后可继续使用
    PASSWORD_LIFE_TIME :口令的有效期(天),默认为UNLIMITED
    PASSWORD_LOCK_TIME :帐户因FAILED_LOGIN_ATTEMPTS锁定时,加锁天数
    PASSWORD_GRACE_TIME :口令修改的宽限期(天)
    PASSWORD_REUSE_TIME :口令被修改后原有口令隔多少天被重新使用,默认为UNLIMITED
    PASSWORD_REUSE_MAX :口令被修改后原有口令被修改多少次才允许被重新使用。
    PASSWORD_VERIFY_FUNCTION :口令效验函数

举例1:

create profile lock_account limit failed_login_attempts 3 password_lock_time 2;
alter user scott profile lock_account;

指定scott这个用户最多只能尝试3次登陆,锁定时间为2天

举例2:

create profile myprofile limit password_life_time 10 password_grace_time 2;
alter user test profile myprofile;

该用户每隔10天要修改自己的登陆密码,宽限期为2天.

举例3:

CREATE PROFILE password_history LIMIT 
	password_life_time 10 	##用户每隔10天要修改自己的登陆密码
	password_grace_time 2 	##宽限期为2天
	password_reuse_time 10;   ##指定口令可重用时间即10天后就可以重用

tips: 给账户(用户)解锁: alter user scott account unlock;

如何管理一个PROFILE

  1. 开启profile管理
    当需要设置资源限制时,必须设置数据库系统启动参数RESOURCE_LIMIT,此参数默认值为FALSE
    可以使用如下命令来启动当前资源限制:
    alter system set RESOURCE_LIMIT=true;
    当需要以后启动时也启动限制,必须在init.ora中设置
    RESOURCE_LIMIT=true

  2. 创建一个profile

CREATE PROFILE app_user2 LIMIT
      FAILED_LOGIN_ATTEMPTS 5
      PASSWORD_LIFE_TIME 60
      PASSWORD_REUSE_TIME 60
      PASSWORD_REUSE_MAX UNLIMITED
      PASSWORD_VERIFY_FUNCTION verify_function
      PASSWORD_LOCK_TIME 1/24
      PASSWORD_GRACE_TIME 10;
  1. 将profile分配给某个用户
alter user scott profile lock_account;
  1. 修改profile中的参数
ALTRE PROFILE app_user2 LIMIT
      FAILED_LOGIN_ATTEMPTS 5
      PASSWORD_LIFE_TIME 60;
  1. 删除profile
    概述:当不需要某个profile文件时,可以删除该文件。
    drop profile password_history [casade]
    注意:文件删除后,用这个文件去约束的那些用户通通也都被释放了。加了casade,就会把级联的相关东西也给删除掉。

生效

修改profile之前的session不会生效

posted @ 2024-11-26 17:00  老牛的田  阅读(32)  评论(0编辑  收藏  举报