Oralce-资源配置PROFILE

  profile:作为用户配置文件,它是密码限制,资源限制的命名集合

在安装数据库时,Oracle自动会建立名为default的默认配置文件

使用profile文件时,要注意以下几点:

建立用户时,如果不指定profile选项,Oralce会自动将default分配给相应的数据库用户

建立profile文件时,如果只设置了部分密码和资源限制,其他选项会自动使用默认值

使用profile管理密码时,密码管理选项总是处于被激活状态;而如果使用profile管理资源,必须激活资源限制

一个用户只能分配一个profile文件。如果要同时管理用户的密码和资源,那么在建立profile时应该同时指定密码和资源选项

使用profile管理密码

可以实现账户锁定、密码的过期时间、密码历史和密码的复杂度

账户锁定

  当用户连续输入多少次错误密码后,Oracle会自动锁定用户的账户,并且可以规定账户的锁定时间,由以下参数

--failed_login_atempts:该参数限制用户在登录到Oracle数据库时允许失败的次数。

--password_login_time:该参数用于指定账户被锁定的天数

如:创建的profile文件,要求设置连续失败次数为5,超过该次数后,账户被锁定7天,用alter user 将profile文件指定给dongfang

create profile lock_account limit
failed_login_attempts 5
password_lock_time 7
/

alter user dongfang profile lock_account

如果建立profile文件时没有提供这些参数,那么会使用默认值unlimited,这种情况下,需要DBA手动解锁用户账户

密码过期时间

--password_life_time:该参数用于设置口令的有效时间,单位为天数

--password_grace_time:该参数用于设置口令失效的“宽限时间”

如:下面创建一个profile文件(password_lift_time),并设置用户的密码有效期为30天,密码宽限3天,然后使用alter user 语句将profile分配给用户dongfang

create profile password_lift_time limit

password_life_time 30

password_grace_time 3;

alter user dongfang profile password_lift_time;

密码历史

  控制账户密码的可重复使用次数或可重用时间

--password_reuse_time:该参数指定密码可重用的时间,单位为天

--password_reuse_max:该参数设置口令在能够重新使用之前,必须改变的次数。

  在使用密码历史选项时,只能使用其中一个参数,并将另外一个参数设置为unlimited

密码的复杂度

  强制用户的密码必须具有一定的复杂度。使用验证函数验证用户的复杂度,只需要将这个函数的名称指定给profile文件中的password_verify_function参数,Oracle就会自动使用该函数对用户的密码和格式进行验证。

  11g中有所改进,$oracle_home dbmsadmin目录下创建一个新的密码验证文件utlpwdmgsql,其中,不仅提供了验证函数verify_function,还提供了一个新建的verify_function_11g函数。

使用profile管理资源

   如果使用profile管理资源,必须将resource_limit参数设置为true,以激活资源限制。由于该参数是动态参数,所以可以使用alter system语句进行修改

如:首先使用show命令查看resource_limit参数值,然后使用alter system命令修改该参数的值为true,从而激活资源限制

show parameter resource_limit;

alter system  set resource_limit=true;

利用profile配置文件,可以对以下系统资源进行限制:

CPU时间:为了防止无休止地使用CPU时间,限制用户每次调用使用的CPU时间以及在一次会话期间所使用的CPU时间

逻辑读:为了防止过多使用系统的I/O操作,限制每次会话时读取的逻辑数据块数目。

用户的并发会话数

会话空闲的限制:当一个会话空闲的时间达到了限制值时,当前事物被回滚,会话被终止并且所占用的资源被释放

会话可持续的时间:如果一个会话的总计连接时间达到了该限制值,当前事物被回滚,会话被终止并释放所占用的资源

会话所使用的SGA空间限制

  当一个会话或SQL语句占用的资源超过profile文件中的限制时,Oracle将终止并回滚当前的事务,然后向用户返回错误的信息。如果受到的限制时会话级的,在提交或回滚事务后,用户会话将被终止;而受到调用级限制时,用户会话还能继续进行,只是当前执行的SQL语句将被终止。

参数如下:

--session_per_user:用户可以同时连接的会话数量

--cpu_per_session:限制用户在一次进行数据库会话期间可以使用的CPU时间,单位为百分之一秒。

--cpu_per_call:限制用户每条SQL语句所使用的CPU时间

--logical_reads_per_session:限制每个会话所能读取的数据块数量,包括从内存中读取的数据块和从磁盘中读取的数据块

--connect_time:限制每个用户连接到数据库的最长时间,单位为分钟

--idle_time:该参数限制每个用户会话连接到数据库的最长时间。超过该空闲时间的会话,系统会终止该会话。

维护profile文件

1.修改profile文件

如:对password_lift_time文件(profile)的资源文件的资源限制参数进行修改:

alter profile password_lift_time limit
cpu_per_session 20000
sessions_per_user 10
cpu_per_call 500
password_life_time 180
failed_login_attempts 10
/

对配置文件所做的修改只有在用户开始新的会话时才会有效

2.删除profile文件

如:删除分配给dongfang这个用户的password_lift_time配置文件

drop profile password_lift_time cascade

  如果指定的profile,已经分配给某个用户,那么必须在删除时使用cascade,为用户指定的配置文件被删除时,Oracle会指定为用户指定default配置文件

3.显示profile

DD--dba_users

DD--dba_profiles

原文地址:https://www.cnblogs.com/xcnblog3035/p/5278462.html