概要文件
一、参数
1、资源参数
现在很少使用概要文件来限制用户对资源的使用,主要把概要文件用来实施密码策略。
cpu_per_call:事务内每个调用使用的cpu的时间
cpu_per_session:会话中使用的cpu的总时间
logical_reads_per_call:每个调用总的逻辑读取数
logical_reads_per_session:会话中总的逻辑读取数
connect_time:一个会话能保持连接到数据库的总时间(单位为秒)
idle_time:会话的空闲时间量
private_sga:一个会话在sga中空间限制
session_per_user:用户可以打开的并发会话数
composite_limit:对资源使用设置的一个总限制。对cpu_per_session,logical_reads_per_session,private_sga,connect_time加权所得,以服务为单位
使用alter resource cost更改它们的权重,没有赋权的将忽略。如:alter resource cost cpu_per_session 200 connect_time 20;
2、密码参数
password_life_time:密码有效期,到达设定的时间之后密码将过期。
password_grace_time:密码宽限期。在宽限期内,没有修改密码,将发出警告。
password_reuse_max:在重新使用原密码之前需要经历的修改次数
password_reuse_time:在重新使用原密码之前需要经历的天数
password_verify_function:密码校验函数。可以使指定校验函数来检查密码的复杂性。
password_lock_time:密码锁定的天数。到期之后,密码自动解锁。
failed_login_attempts:密码锁定之前可以尝试的登录次数
二、默认的概要文件
在oracle中一个名为default的默认概要文件,当没有为用户指定概要文件时,用户将使用default概要文件。
用户在创建概要文件时,如果没有为某些参数指定值,则使用default中设定的值。
可以使用dba_profiles查询default中为参数设定的值:select resource_name,limit from dba_profiles where profile='DEFAULT';
三、创建概要文件
create profile profile_name
limit
[password_life_time n]
[password_grace_time m]
[password_reuse_time p]
[...];
更改概要文件:使用alter profile,其他与创建概要文件相同。
四、为用户分配概要文件
1、在创建用户时:create user user_name identified by password profile profile_name ...;
2、更改用户概要文件:alter user user_name profile profile_name;
五、删除概要文件
drop profile profile_name;
如果概要文件已经分配给用户,在删除概要文件时,需要加cascade:drop profile profile_name cascade;
用户使用的概要被删除之后将使用default概要文件。
六、对概要文件中密码参数的设置会立即起作用,但资源参数不会立即起作用,需要设置初始化参数resource_limit
alter system set resource_limit=true;
七、当到达调用级的资源限制时,该语句将失败,但当前事务的其他语句依然合法,可以继续进行。
当到达会话级的资源限制时,会话将不能继续进行。